Очевидно, что split('_') возвращает не итерируемый объект. Попробуйте вывести результат его работы и посмотреть что там. Может пусто, а вы не обработали эту ситуацию.
P.S. конструктивно - новичку надо не с ботов начинать.
Так вы совсем не обрабатываете нажатия кнопок. Там где у вас call_data для стрелочек добавьте имя команды и ловите его с параметрами в вашей фцнкции navigate