If you make it illegal to say "hateful" things, then who deems what's hateful? One of the biggest dividing issues between the right and the left is that they can't agree on what is offensive, with the left finding more things offensive (and thus not wanting people to say it). Our first amendment would be enforced drastically differently just because of different parties in office.
If you make the case that it shouldn't be illegal, but that it should be heavily reprimanded by society, then fine. However, you must understand that at that point, you're dealing with mob rule, and mob rule often changes extremely.