Уже много раз обсуждалось. НЕ добавляйте кавычки к названиям идентификаторов (таблиц, полей). Иначе это воспринимается как текстовая строка. Здесь например
UPDATE 'users' SET 'balance' = ? WHERE 'chat_id' = ?
Он будет пытаться обновить те записи, где СТРОКА 'chat_id' = какой-то там номер.
Соответственно равны они не могут быть, и ничего не обновится.
Не надо в запросах добавлять эти кавычки.
Измените запрос так (и другие тоже заодно):
self.cursor.execute("UPDATE users SET balance = ? WHERE chat_id = ?", (balance, chat_id,))