Emacs, which abstracts from version and implementation/platform, is clearly not needed. (If this were not an Emacs site, it would be useful.)
All of the following should be possible tags:
ZEmacs or..., which concerns only a particular implementation/platform
Emacs-20 etc.), which concerns only a particular series of versions of (GNU) Emacs (Emacs 24.1, 24.2, 24.3,...)
Emacs-24.4, which concerns only a particular version of (GNU) Emacs
The practices to encourage should be:
Use the tag that is the most general that applies. So if something applies to all GNU Emacs 24 releases but not to later or earlier releases, and not to Emacs in general, then use
When something applies to GNU Emacs release N and later, just specify the release applicability in the text. You could use tag
Emacs-24, but you would risk making your question or answer out of date at some point.
The tag definitions should make it clear that Emacs-N refers to GNU Emacs release N. For Emacsen other than GNU, the text in the post should specify release names/numbers as needed. We should not bother with tags for specific non-GNU Emacs releases.
The only reason for that last convention is convenience: GNU Emacs is what the vast majority of users use today. If that changes somehow in the future, then this can be revisited.
If others think that all GNU Emacs tags should explicitly include the prefix "GNU-" then I'm OK with that too. But I think it will just inconvenience users.