Для тех, у кого возникнет такая же проблема, как и у меня. Вот как я ее решил:
У меня была гипотеза о том, что
bot_n.py отрабатывает все принты и закрывается. Чтобы в этом удостовериться, я написал bash скрипт, который открывал бы мне bot_n.py, а этот bash скрипт я запускал из своего main_bot.py по команде. У меня открывался терминал и сразу же закрывался.
Оказывается, я забыл в bot_n.py дописать следующее:
if __name__ == '__main__':
executor.start_polling(dp)
Теперь bot_n.py запускается, и бот работает. Но в это время не работает main_bot.py. Поэтому нужно добавить многопоточность. Вот и все.