lambda call: 'season'
Это работает не так. Читай документацию.
Лямбда должна вернуть истинное булево значение, если обработчик может обработать этот запрос, и ложное - если нет.
Внезапно, любая непустая строка интерпретируется как истина. А значит, первый обработчик получает все запросы.
Сравнивай call.data с искомой строкой.