Потому что по умолчанию конфигурация читается, как файл в ansi-кодировке. Если файл содержит символы отличные от латинских, то раскодировать их не получится. Решить можно так:
with open(main_config_file, encoding='utf-8') as fh:
settings.readfp(fh)
# Весь остальной код, использующий settings