It looks to me like aiohttp and grequests both perform similarly for making concurrent HTTP requests. It may be possible to tweak aiohttp to be slightly quicker, but grequests is quite a lot more straightforward to use.
aiohttp doesn't appear to work trivially with Flask, because Flask is a synchronous rather than an async framework. I encountered the same error that other people have mentioned when trying to use async code in Flask.
I did find https://github.com/Hardtack/Flask-aiohttp/, but it's "Experimental". I tried to use it to solve this problem, but the documentation doesn't work out of the box at all, so I ultimately gave up.
I think this means we should simply use grequests for now, unless we seriously want to consider switching to using an async HTTP framework, which seems quite radical.