У вас логика программы нерабочая. :) Вы answer неправильно считаете. Вот что это такое?
first = random.randint(1, 10)
second = random.randint(1, 10)
answer = first*second
Вы генерируете first и second рандомно, показываете пользователю. Пользователь вводит ответ. При следующем запросе вы опять их рандомно генерируете (вместо того, чтобы взять те, с которыми пользователь дело имел) и проверяете произведение новых с тем что ввёл пользователь (а там произведение старых). Естественно, что счётчик увеличится с вероятностью той же, что и слон пролетит за окном. :)
А вообще, если делать правильно, то заведите пользователю сессию (например, flask-beaker) и сохраняйте результаты туда (в том числе answer, который ожидается с предыдущего шага). Иначе при количестве пользователей >1 на приложение у вас опять будут баги.