He does not get booed more than the heels. The people who boo him are just adults and men so 1 man = 5 children as far as noice I'd guess. Plus it's deeper and boos are easier to make louder so they resonate more.
Also, Cena doesn't want the smarks to cheer him. It's his character. He's a heel to them, a face to everyone else. It's why ratings didn't go up for CM Punk but the crowd reaction did. Smarks are a loud but small group. Working them makes the rest of the audience louder. In Cena's case, 1 smark boos him, 10 kids cheer louder. It makes for more interesting TV and a louder reaction. Smarks don't pay for PPVs (they stream) and they don't buy merch (unless it's the net darling, which is never the top dog, Japanese, or indy). So why try to make them cheer and not just run with the "I'm corny, muscular, and nice, I'm John Cena"?
I HATE how many people compare stuff to the Attitude Era. You guys do realize that a TON of people hated the tude era? It was vulgar and basically a Jerry Springer show that would feature about 10 minutes of wrestling in the entire show, usually a few matches interrupted around the 3 minute mark with a run in with like a pimp beating up his hoes with a *****. Times are different, you can't just sit there and go "I want wrestling to be like when I first watched and never change". That's stupid. Learn to appreciate and understand why things are the way they are.
Also, Vince sees the quarter hour ratings reports and merch sales. A "crowd favorite" to me isn't a guy who gets cheered, but a guy people want to see. The majority of people who boo cena love to boo him. Either consciously or without realizing it. If they didn't, they'd stop watching when he comes on TV and stop coming to live events; or if they come to a live event they wouldn't make any noise during his matches. They don't though. Cena sells the most merch and gets the loudest reactions.