He only caught a small fraction of all of the pokemon. If he has the last name "Ketchum" and it sounds like catch them all, why doesn't he catch most of them or all?
In the Japanese version of the anime, Ash's name is Satoshi. His Japanese name comes from Satoshi Tajiri, creator of the Pokémon games. The English version's name is derived from Satoshi, as it contains the letters a, s, and h, and sounds similar to Ash. The Ketchum part of his name, as you've rightly said, comes from the catchphrase "Gotta Catch 'em All."
The Japanese name is notably not connected to this catchphrase. Since the Japanese version is the source material, there is a disconnect here. In the English version, Satoshi is Ash Ketchum, but the English version has no control over how the plot proceeds (for an additional example of this kind of translation disconnect, see the Resident Evil series, which is called Biohazard in Japan). Additonally, as time has gone on, this catchphrase has become less important to the series, since there are so many Pokémon. And given the rate at which Ash catches Pokémon, it isn't feasible for him to catch them all.