There is no reason for the tag transaction-fees to exist in my opinion.
Since the question title and body are at odds, "should it be removed" and "any reason to exist" You've neatly avoided a polling question.
I believe that having the transaction-fees could be useful. The presence of transaction and fees do not remove the usefulness of transaction-fees. While there are many types of fees and charges that could end up being tagged with fees, I suspect that the bulk of possible questions will be about transaction fees. Having a specific tag for that might help to filter that class of question, and reduce some of the duplication. When a user adds a tag to their question, the system has a tighter search parameter and might offer the querant a list of question that matches their question, giving them an answer without posting a duplicate question for other users to clean up later.
On the other end of the spectrum, there will likely be many questions tagged transaction and very few of them will be about fees. Given that assessment, having the transaction-fees to separate fee-related questions from what's likely to be primarily a technical-related set of questions can help reduce some of the "noise" for the transaction tag.
The first sign that it's a redundant tag, as you already mentioned is that people would have to tag questions with "transaction-fee" but also "transaction" and "fee" in order to properly tag the question, this is unnecessary overhead on the community.
Looking at it from what this tag actually provides, I think that "transaction-fee" is too narrow to be useful: the "fee" tag is actually not that broad in itself and will probably do just fine without trying to tease out fees per transaction vs fees per ledger entries (the only two types of fees that the protocol supports).