Не понятно для чего тут целая портянка кода. Не указали где храните данные (БД, Redis, etc.). Какие проблемы с текущим кодом?
Я вижу схему в БД такой:
1) Таблица пользователей - id, first_name, etc.;
2) Таблица постов - id, title, body, etc.;
3) Таблица голосов - id, user_id, post_id.
Для получения оценок на посте - запрос в таблицу №3 (where id = postid)
с API ботов TG не знаком, но предположу, что после отправки сообщения клиенту код сразу идет дальше, а не дожидается ответа от пользователя, для этого и сделаны callback'и, думаю, что CallbackQuery должен быть заполнен после нажатия кнопки, которое вызывается отдельным событием (возможно даже на простом получении сообщения от пользователя)