No, you don't need to have exactly 7/14/21/28/35/42 enemy types, you just need to have at least these numbers. You can even do the whole game and only later go see the monsters guy, he will still give you all his pieces of heart.
Anyway, I checked your savegame and you already have all possible pieces of heart from him (6). There are 46 types of enemies but he does not give anything after 42. (However, to get 100% at the final screen, you need all 46.)
Your missing piece of heart is somewhere else, I can tell you if you want.