Some languages, such as Japanese, mark number words with suffixes denoting size, shape, and other qualities (e.g., ichi (one) becomes ippon for one book). Why would such a linguistic practice develop?
Because hon is more likely a specific stem than an affix, the stricter term would be agglutination, which by itself is not a specific language practice at all. The examples of agglutination can be shown by such English nouns as Batman, pineapple, hedgehog, etc.
The change [h] makes turning itself into [p] or [b] after [n] / [m] is assimilation, so a proper name for the phenomenon would be assimilative agglutination.
Why does this phenomenon occur?
I guess, because of combination of causes and effects, just like any existing phenomenon, like a coulour of grass or a human brain.