Buenas, supongo que podrías modificar este bucle algo así:
   Código PHP:
    foreach ($eventos as $evento) {
                foreach ($calendar as $week => $days) {
                    for ($i = 1; $i <= 7; $i++) {
                        // Si hay algún evento con fecha de inicio para el día que estamos iterando se añade al calendario
                        if ($days[$i] == $evento->fecha_inicio) {
                            $days[$i]->asistentes = $evento->asistentes;
                            for($j = $i+1; $days[$j] <= $evento->fecha_fin; $j++) {
                               $days[$j]->asistentes = $evento->asistentes;
                            }
                            $calendar[$week] = $days;
                        }
                    }
                }
            } 
    
  
Supongo que faltaria q controlaras tb que si se "pasa" de la semana, deberias aumentarla para seguir sumando ;)  
PD: ¿Y q pasa si coinciden dos fechas?