Наверное, вам нужно учитывать событие на всём протяжении длительности события, то есть учитывать его не только в день начала, но и в каждый день, когда оно длится.
Тогда нужно для каждого события сделать цикл, и для каждого дня в интервале считать это событие:
$dates = array();
foreach ($events as $event) {
$dateStart = \DateTime::createFromFormat('Y-m-d', $event['date_start']);
$dateEnd = \DateTime::createFromFormat('Y-m-d', $event['date_end']);
while ($dateStart <= $dateEnd) {
$date = $dateStart->format('Y-m-d');
if (!isset($dates[$date])) $dates[$date] = 0;
$dates[$date]++;
$dateStart->modify('+1 day');
}
}