Не выполгяется последняя часть кода @bot.callback_query_handler(func=lambda call:True) def callback2(call): почему и как исправить?
@bot.callback_query_handler(func=lambda call:True)
func говорит боту, когда вызывать обработчик. Бот вызывает только ОДИН обработчик (первый подходящий).
func=lambda call:True означает, что обработчик должен вызываться для ВСЕХ кнопок.
Научись различать обработчики по call.data. Например, пусть у одной группы кнопок data начинается с "foo.", а у другой  - с "bar.". 
item = types.InlineKeyboardButton('4', callback_data='foo.question1')
item2 = types.InlineKeyboardButton('3', callback_data='foo.question2')
gotov = types.InlineKeyboardButton('Готов', callback_data='bar.gotov')
Тогда ты сможешь прописать два обработчика:
@bot.callback_query_handler(func=lambda call:call.data.startswith('foo.'))
и
@bot.callback_query_handler(func=lambda call:call.data.startswith('bar.'))

Разумеется, вместо foo и bar можно придумать свои префиксы, в том числе многоуровневые (типа callback_data='questions.q1.answer1').
У вас два обработчика
@bot.callback_query_handler(func=lambda call:True)
Какой из них должен срабатывать и при каких условиях?

P.S. просто ради интереса - сколько по времени вы изучаете python?