Probably just to make it easier to play. Having ghost + poison + psychic under one umbrella allows for different themed decks, and more flexible use of Pokemon. Sure, they're all under the "psychic" label, but the weaknesses can vary. The weaknesses are how you can even differentiate types.
Take the Blastoise and Gyarados example that set off this discussion.
Blastoise is weak to grass because it's pure water type in the game. So, why is Gyarados weak to lightning? Because it's a flying subtype in the game.
Nidorina is listed as a grass type, because idk it's a pure poison type, and you can tell it's a poison type because it's weak to psychic.
View attachment 6973612
Gloom is also poison, but it's also a grass type, so it gets a fire weakness.
View attachment 6973613
The card colors/types are just broad strokes. Any more colors, and it would be just ass to play, because it's easy to pick out a card at a glance for your deck. You don't have to pay attention to the little symbols, just the color. They already have problems with this now, because steel type is such a light color that it looks like colorless.
It's all about ease of access.