The problem with asyncio is that you can't take advantage of both it and the bazillion synchronous-io libraries already in the ecosystem.
For large web apps it's still pretty much a nonstarter unless you want to not be able to take full advantage of libraries like sqlalchemy.
Nodejs had a great advantage by starting with asyncio from the beginning.
M:N threading would have been a much better fit, though that's out of question given the GIL.
The new generation of Python web frameworks is pretty fast (check out Sanic[0][1] for example), Python has a huge growing ecosystem, you get rapid time to marked and if you find some part of your application to be the bottleneck, you can replace it with C/Rust, which you probably don't need, because your company won't ever scale as far.
[0] https://github.com/channelcat/sanic
[1] https://magic.io/blog/uvloop-blazing-fast-python-networking/