Speech is too complicated to spell out things explicitly. There are too many ways to imply things ambiguously, particularly when you take context into account.
In practice what you do with hate speech laws is give the government tools to arrest people it doesn't like and ignore the sorts of speech you thought you were banning.
So sure, where someone puts their name on it go to their house, haul them to court, and threaten them with jail/compensation unless they remove/repent certain things.
But when there is no identity and you could never find one do you get stuck in an infinite loop of righteousness or do you move on?
If you try to create laws prohibiting hate speech, you can get around them by creating idioms. So your laws have to account for context, and that's not something laws are able to do effectively. In fact, the less vague your laws are, the less able they are to account for context.
But, the "reasonable person" referenced in so many laws does recognize idiom.
If I say "I'm going to fuck your shit up", literally that sentence is either a homosexual come-on or means nothing - but idiomatically it means "I will hurt and/or kill you", and at that point a (credible?) threat has been uttered...
So if your "specific" law said "insult X is fighting-words but insult Y isn't", yes that's retarded. But if it says "if a reasonable person would feel the comments were more threat and libel designed to raise hatred against them than criticism..." it might at least be on the right track.