To clarify, the rule is that you don't run two moves of the same type when neither of them give any additional benefit from each other. You don't need a pokemon with Flamethrower and fire Blast for instance. However, if they offer two different benefits, as is the case with infernape (Mach punch can hit speedy targets that could take him down, while Close Combat allows him to hit bulkier pokemon he's not worried about outpseeding), and other pokemon. The idea doesn't come up very much, but it's pretty handy when it does.

Try out an eruption/Fire blast typhlosion with Blaze, for another example.