Сохранять значения переменных внутри .exe нельзя, что логично, ведь все его переменные начинают существовать только во время запуска. Можно, конечно, пересоздавать приложение заново при каждом изменении значений переменных, но это путь в бездну и есть способы куда проще.
Например хранить значения во внешнем файле, а уж в каком виде, решать разработчику.
Наиболее распространенный вариант - конфигурационный файл, созданием которого занимается приложение (либо пользователь, но лучше пускай приложение само разруливает ситуацию, когда файл отсутствует, и при надобности создает его). Формат не особо важен, но удобнее, чтобы это был известный текстовый язык разметки, который удобно и быстро можно парсить при запуске.
Это может быть .ini файл, который спокойно парсится стандартным модулем
configparser, или языки разметки типа
XML,
JSON (т.к. для них в Python есть стандартные модули), либо, например,
YAML.