I think the argument could be made that it is hate speech in the same way that the word "fag" or "gay" is thrown around casually. It's used typically as a swear, to put down someone.
The reason that this is unacceptable is the same reason that calling something "gay" or someone a "fag" without really thinking about homosexuality is also unacceptable.
These words have meanings besides their use as swear words, they signify a homosexual man (or homosexuality in general, as is with the case for "gay").
But the users of the phrases protest! They say they're not really meaning to say anything about homosexuality, when they say it, they just mean "stupid, lame, dumb, undesirable", not "homosexual". The problem with this defense, is that actively using a word which has a regular meaning as a swear promotes an idea of equality of the actual meaning with the swear.
What I mean is, everytime you say "That's gay", you're promoting an understanding of the word "gay" with "stupid, lame, undesirable etc".
So when you call someone a "cocksucker" as an insult, you're basically saying that you consider "those that suck cocks" to be something worthy as an insult.