Как правильно одновременно запустить двух Telegram ботов одной программой на Python?
Ну потому что ты фигню написал.
th_bot = Thread(target=pyrobot(), args=())
th_userbot = Thread(target=aiobot(), args=())
Ты пытаешься запустить в качестве потока значение, возвращаемое функцией pyrobot(). А так как она уходит в цикл и значения не возвращает, то далее ничего не происходит. До вызова конструктора Thread() дело не доходит. С aiobot() аналогично.

Еще раз:
pyrobot() - вызов функции
pyrobot - ссылка на функцию

EDIT:
Оба бота - асинхронные на базе asyncio, им для работы нужен цикл-реактор (event loop). Вообще не факт, что хорошая идея запускать их в потоках.
Тут есть два варианта, сразу даже не скажу, что проще.
Вариант А, лобовой: каждый бот создаёт своё собственные реактор через asyncio.new_event_loop(), потом задаёт его как текущий для своего потока через asyncio.set_event_loop(loop). Если ботам не требуется взаимодействовать, то это может быть проще. Если требуется... будут проблемы. Два реактора в одной программе - это не хорошо.

Вариант Б, адекватный: 
И вызов app.run(), и вызов executor.start_polling(dp, skip_updates=True) скорее всего под капотом создают асинхронную функцию (корутину), и запускают её в реакторе. Тогда ты можешь обойтись без потоков, заставив обоих ботов работать на одном реакторе. Нужно будет зарыться в доки, или даже глянуть исходники.

Например, для пирограмма написано такое:
When calling this method (app.run()) without any argument it acts as a convenience method that calls start(), idle() and stop() in sequence. It makes running a single client less verbose.
Т.е. вместо вызова app.run() ты можешь изменить код так:
async def pyrobot():  # обрати внимание, теперь функция асинхронная!
    print("pyro started")
    @app.on_message(filters.chat("some_chat"))
    async def print_pyrogram():
        print("Pyrogram")
    # это вместо вызова app.run(), как написано в доках.
    await app.start()
    try:
        await app.idle()
    finally:
        await app.end()
Затем делаешь аналогичный трюк с aiobot(). Нужно посмотреть в доках на аиограм, как именно.

И потом запускаешь обоих ботов кодом вида...
asyncio.run(asyncio.gather(pyrobot(), aiobot()))
Глянь тут мой ответ