They don't hate that English is mandatory for them; they enjoy that, but they hate that French isn't mandatory for the rest of Canada.
Quebecois farmers talk like crap, but the French you learn in school and in Quebec is International French. It's different from Quebecois and France French - it's a French understood by all with relatively no flagrant accent.
They don't complain too much for nothing, when anglophones come in and bish at them constantly about not serving them in English, when we don't get served in French. There's no fairness in it. We have to serve them in English, but even in QUEBEC, the anglophones don't serve us in French!
All Quebec wants is language preservation, and all that demands is that Canadians go through what they do - learn the other language, in this case, French, until high school graduation.
It's really not that hard; people are just too narrow-minded to accept it.
As for your edit, the charter states you can move to any province you like through Mobility Rights; however, when anglophoes decide "Hey, let's move to Quebec!", most don't know French, don't want to, and try to force English on the people who live there.
Would you go to Morocco and try that? They speak French and Arabic there; no one speaks English, really. Do you know how disrespectful it is to go to another province, state, or country, and demand service in English when you should be speaking THEIR language, or at least TRYING? That's what pisses us off. JUST TRY LOL It's not that hard! It's the mentality:
"You can get along fine in life just knowing English."
It's not true. That mentality = I can get along fine, but hey, if there's someone who speaks another language, I'm'a force them to speak MINE because MINE is spoken more.
You need to learn other languages; you're ignorant if you don't. You might as well start with the languages of your country.