I like to break down these numbers and try to find explanations for why things have happened the way they have. Pikachu and Eevee get a ton of Japanese promos that we never get in America (Eevee mostly taking off with Gen 7 where LGPE started pushing it as a secondary mascot - I count 29 different Gen 7 Eevee cards, but that also takes into account 8 different versions of Eevee wearing ponchos of evolutions, which is a concept that bloats Pikachu's count to insane amounts in Gens 6-7, and how they've broken the Eeveelution representation across several sets this Gen unlike how they've usually grouped them together more in the past).
Mewtwo's two particularly bloated Generations were 6 (18 prints), where they covered its Megas (10 of Mewtwo's 18 prints are in Breakthrough alone), and now 7, where more than half of its prints are because of the super stupid way they've handled GX cards by giving every single one 3-5 tiers of artwork. Mewtwo has so far gotten 18 different "prints" in Gen 7 by my count..... but 12 of them are reprints of the same
3 cards (Shining Legends GX, Hidden Fates GX and Mewtwo/Mew TTGX).
Charizard is actually in the same boat where in sheer quantity its numbers have never really particularly obvious until Gen 6 with the double Mega factor and more specifically this year, where we're getting Charizard in almost every single set back to back to back (it's in Team Up, Detective Pikachu, Unbroken Bonds, Hidden Fates and Cosmic Eclipse - the later three where it will fetch outrageous prices for one reason or another). Like Mewtwo, Charizard's bloat is combination from the double Mega representation and the chase card explosion that every EX/GX card suffers from.
Also in Charizard's case is that it's technically not "taking a spot" from a neglected Pokemon. Pokemon likes to try to represent all 11 of its types and with Fire being one of the smallest pools, none of the Pokemon that fall under the umbrella of "Fire" are particularly neglected in the TCG for very long, save for Magby, but that's because Baby Pokemon were their whole different category of PCL not having any idea what to do with them. Magby aside, the Fire Pokemon we've gone the longest without seeing right now are Pansear and Simisear, who were in Burning Shadows less than two years ago. And believe me, there would be a lot more outrage toward Simisear somehow getting a GX than Charizard getting a second one. TBT to 2011-2012 when everyone was enraged whenever the elemental monkeys showed up in a set.....
That being said, PCL makes plenty of questionable decisions for Pokemon choices that shouldn't be made when fans have this information readily available for them after two seconds of using Google. There's no reason to have the Oddish family without Bellossom in three different Gen 7 sets. There's no reason why Pokemon X on meaningless filler card Y couldn't have been swapped out for meaningless neglected Pokemon Z. There's no reason we shouldn't have gotten Alakazam on a Tag Team when in the past they've jumped at any single opportunity to use Alakazam in a scenario that didn't involve Kadabra (hell, they even could have used Abra on Tag Team too).
But I also imagine it's not easy to come to the choices they make when they have to try to cross promote with games and shows and movies, they have to have a ton of promos ready for release in Japan that fans would actually care about because they're cross promoting with Domino's or Uniqlo or a random exhibit for Edvard Munch, they have to get in contact with a few dozen Japanese artists to make their illustrations, they have to worry about trying to make a balanced/playable metagame, they have to try to split popular/powerful Pokemon across several different sets lest we end up with some Emerging Powers monstrosity that nobody wants to buy, etc., etc., etc.