Так нельзя, это же asyncio, тут любой синхронный код блокирует event loop и всё ломает. Для начала, надо вместо time.sleep использовать asyncio.sleep.
Потом, таск бота запускается при вызове start_polling уже после цикла. При этом event loop к тому моменту закончился, так как asyncio.run отработал.
Надо сделать как-то так:
async def main():
polling_task = asyncio.create_task(dp.start_polling())
while True:
await asyncio.sleep(60)
await bot.send_message(owner, "Hello!")
loop = asyncio.get_event_loop()
if __name__ == '__main__':
loop.run_until_complete(main())
loop.close()