Well, it makes sense. Canada still has a significant English-speaking majority. Even if Québec in isolation has a French-speaking majority, there's a very large incentive for French-speaking citizens to learn English because their province is surrounded by primarily Anglophone regions.
There are also other factors at play. Montréal has a fairly large community of native English speakers and receives a lot of tourism from Anglophone Canada and the United States due to its status as the largest city in Québec (and second largest in Canada). It also gets a lot of immigrants, many of which are (at least initially) more proficient in English than in French.
I can't say I'm entirely familiar with the situation in Switzerland, but as far as I know the country has four official languages, none of which are English. It also doesn't border any English-speaking countries. It seems English is mostly used as a lingua franca for communication between citizens who don't otherwise share a language rather than due to the direct presence of native Anglophones. Also, Romansh aside, all national languages of Switzerland (French, German and Italian) are spoken in areas that directly border a country where that language is the national language (France, Italy, Germany/Austria). With Switzerland being in the Schengen Area, its linguistic regions may be considered to be part of a much larger individual linguistic communities, which I feel may also diminish the need to learn other languages.