Nobody hates the USA without a reason. All the anti americanism in the world exists because the US has been systematically fucking over other countries without mercy. Looks like people don't like oppressors who exploit them ...
If you can get it, read (or listen to) "All the Shahs Men" it tells the story of the iranian revolution and the shenanigans that led up to it. Who would have thought a dude hiding under a pile of coats in the back seat of a car could so dramatically alter the course of world events.
One of the greatest occurrences of blowback in self-interested American foreign policy that reverberates to this day. Iran could've been a beacon of democracy in the middle east but foreign meddling by US/UK ended that possibility. We overthrew a democratically elected leader and in his place installed a brutal, friendly-to-us dictator, the Shah. That led to the Islamic revolution which overthrew the Shah and here we are today. Few Americans know about this shameful part of US history. Obama I believe was the first President to publicly acknowledge the deed.
I don't think the point is to laud today's Iran, but to pinpoint that the shit is happening today is consequence of the actions of the U.S. of yesteryear.
So when Americans say "why do they hate us?" it's not really because of their freedoms.