Таски необязательно всегда выполняются в одном потоке. Иногда бывает полезно обернуть синхронный код в loop.run_in_executor, для запуска в дочернем треде (но возвращается все ровно объект Future)
stdout поток все равно останется тем же, это ничего не решает