I refer to frameworks such as aiohttp, tornado, gevent, quart, fastapi, among others.
If you look for tutorials on how to use celery with django and flask to do things like background and periodic tasks, for example, to send an email when a user registers to confirm their account, you'll find a lot of content about it. But not with the ones above, or they are very few and talk about other topics than perform background or periodic tasks. Does this mean that with these frameworks I don't need celery because since they are asynchronous I can do the same?
Celery (and similar like Huey or RQ) has different purpose than the frameworks you have listed. No matter which framework you pick, in order to distribute execution of tasks among (potentially hundreds) nodes you would need to implement the whole system yourself. Things would get even more complicated if you want to implement something like Celery workflow...
So the answer ca be both YES and NO.
NO: you do not need Celery if you want to implement all the functionality that Celery provides out-of-box by yourself.
YES: more pragmatic - you use your async framework to implement your (web) service(s), but whenever you need to distribute execution of some either CPU intensive or long-running tasks, you use Celery, as that is what it is made for.