What Pokemon learn a lot of HM moves?
Hiyappu can be obtained in the Yaguruma Forest in a shaking patch of grass, or given to you in the Dream Ruins if you started with Tsutaja. It can learn Cut, Surf, Waterfall, and Dive. (Basurao can also learn all of these attacks, but you need to Surf in order to find it.) Protoga from the Ancient Castle can learn Surf, Strength, Waterfall, and Dive, making it slightly more useful as Strength is more commonly needed than Cut. Mogurew or Ishzumai can learn both Cut and Strength. Koaruhi, which can be found on the Hodomoe City Bridge, is helpful later on in the game since it can learn both Surf and Fly, helpful if you don’t have any Water- or Flying-types on your team and need one to serve both purposes. It can also learn Dive for post-game stuff.
Panpour can be obtained in the Pinwheel Forest in a shaking patch of grass, or given to you in the Dreamyard if you started with Snivy. It can learn Cut, Surf, Waterfall, and Dive. (Basculin can also learn all of these attacks, but you need to Surf in order to find it.) Tirtouga from the Relic Castle can learn Surf, Strength, Waterfall, and Dive, making it slightly more useful as Strength is more commonly needed than Cut. Drilbur or Dwebble can learn both Cut and Strength. Ducklett, which can be found on the Driftveil Drawbridge, is helpful later on in the game since it can learn both Surf and Fly, helpful if you don’t have any Water- or Flying-types on your team and need one to serve both purposes. It can also learn Dive for post-game stuff.