Ah, complicated issue full of misunderstandings.
The divide is not that clear cut for various reasons which is probably why stats are contradicting. First, what are Cantonese and Mandarin speakers? Many Cantonese speakers do speak Mandarin, especially the younger generation. And practically everyone from Guangdong province who speak Cantonese speak some Mandarin as well (that's the language they hear on TV). Second, those who identify themselves as "mandarins speakers" in the survey don't speak mandarin as native language. For example, a Shanghainese will most likely say she speaks Mandarin, only because she doesn't speak Cantonese and usually there is no Shanghainese for her to choose. The same apply to people from elsewhere.
More importantly, hardly anyone in China actually speaks Mandarin (Putonghua, literally means "common tongue" - the language used in the media and education) as their native tongue, for the simple reason that it is an artificial language (like Esperanto). It is largely based on north dialects but that doesn't mean they are the same. For example, people from Beijing don't speak Putonghua in daily lives. They speak Beijing dialect.
Mandarin also has another definition which means several dialect groups which are similar to each other, however, they aren't necessarily intelligible to each other. The "Mandarin" people speak in North Jiangsu, most of Anhui province is quite different from Putonghua and people from Beijing won't understand it - maybe 20% at best. The Mandarin in southwest China is a different group, which is kind of similar to Putonghua but not quite - it is like English in Scotland. Someone from Beijing probably understand 70-80%.
I agree Cantonese is a different language. But so is Minnan (in southern Fujian and Taiwan). Northern Fujian speaks the Min dialect too, but it is vastly different from Minnan (I have two friends from south and north Fujian who can't understand each other, so they speak Putonghua). Additionally, Wu, Xiang and Gan are considered separate language different from mandarin too because they have very low intelligibility with Mandarin. However, because these people are largely absent overseas, most people didn't account for the existence of their language.
So in the end, things have changed enough that we should stop think there are two kinds of Chinese: Cantonese and Mandarin. That ceases to be true. My observation is other Chinese language is rapidly replacing Cantonese. During the past 7 years, I saw quite many old restaurants run by Cantonese owners replaced by new Chinese who are from non-Cantonese speaking part of China. 10 years ago, the servers will give you a look if you speak anything other than Cantonese, but nowadays, they all have to speak Mandarin in order to keep their job because the clientel is changing.
In case it is not well know: in China itself, Cantonese has no special status. It is just one of those southern dialects among China's many. Nobody outside Guangdong will bother learning Cantonese for any reasons. HK movies/music makes it marginally more important than other dialects but the difference is small. On the other hand, in entire Guangdong, everyone who finishes primary school is able to speak Putonghua because that's a basic survival skill.