longpoll.listen() получает одно событие за итерацию и не приступает к следующему, пока не закончит с текущим. Если событие было получено пока выполнение предыдущего не завершилось, оно не будет выполнено.
Когда от пользователя было получено "тм1", условие
elif response == 'тм1':
стало истинным и начал выполняться соответствующий блок кода. Так как весь блок не выполнился и не было получено следующее событие, условие
if response == 'сегодня':
ложно, соответственно, блок кода, следующий за ним, не будет выполнен.
Чтобы этого избежать, необходимо поместить условие за пределами elif response == 'тм1'. В таком случае, чтобы выполнение блока кода происходило только когда последовательно придёт сначала "тм1", а затем "сегодня", можно добавить переменную типа bool, которая по умолчанию ложна, а при вводе "тм1" истинна.
group = False
elif response == 'тм1':
group = True
elif response == 'сегодня' and group:
...