I guess I’ll go with a few realistic answers along with the problems that came with them.
As his name implies, Goh is meant to be a Pokémon Go advertisement, primarily in the catching department. Through his constant gaining is supposed the catching aspect of being a trainer, while Ash was the battler, locked and restricted to the 5 he caught for the pwc. Problem is, with how easy he catches stronger/legendary Pokémon like they route one 1 tier, this became grating to to lot of people, especially if he caught one’s that people wanted Ash to have, such as the other Galar starters.
I guess Goh was also an attempt to incorporate test another main character with same importance as Ash. This meant prioritizing Goh’s progression to an excessive degree to the point where the writers are saying he’s supposed to be seen as Ash equal, along with using up episodes for Goh while Ash’s progress tended to take a back seat. This is unfortunate because this season was supposed to be Ash’s biggest moment in his trainer career, and even though he beat Leon, the majority of JN was of the worst, boring, and sloppily written quality i've seen. Now Ash is retiring, and I'm left unsatisfied. Plus now they're retiring Ash anyway instead of letting him go to Paldea, which I wanted to happen so they could fix the mistakes of JN and give him the opportunities they withheld from him.
I’m also guessing they wanted to use Goh and his catch’em all schtick to preview several different Pokémon, but this failed considering that most of the Pokémon he caught don’t matter and just wasted time. I also feel Gen 8 suffered due to them not focusing enough on Galar, and the fact that a lot of important Galar pokemon went to such a ineffectual character.