> On the other hand, I want to be able to search for
> packages related to sending email messages from Emacs (for instance),
> and know that I'm not missing packages because their author tagged them
> as "email" instead of "mail".
Agreed. This is precisely why the current state is a mess.
> Maybe just expand the canonical list of curated keywords, then let
> package authors add their own on top of that?
This by itself will take a very long time, if ever, to have any effect. It would have to be coupled with something else.
For instance, there could be a compiler warning if the package has unknown keywords. This wouldn't prevent the keyword from working, but it would inform the developer to either change the keyword or ask us to add it in. Is that too much?