model не переопределена.
get_queryset захардкожен.
get_context_data не нужен (в шаблон отправляется object_list, причём, только один).
{% for object in object_list %}
{% for session in object.session_set.all %}
{{ session }}
{% endfor %}
{% endfor %}
Попробуйте:
class IndexView(ListView):
template_name = 'events/list.html'
paginate_by = 1
model = Events
def get_queryset(self, *args, **kwargs):
return super().get_queryset(*args, **kwargs).filter(session__date=datetime.today()).distinct()
# Если python2, используйте super(IndexView, self) вместо super()