When the bottle is in the air it has a potential energy of $(m_b+m_m)gh$. As you mentioned in the comment, more the bottle is filled more will be the potential energy. But in collisions it is not necessary for all the kinetic energy of the bottle to be converted to kinetic energy of the pieces. The energy is converted to break the bottle, to produce some breaking sound, etc.. In the case when the bottle is filled milk, the milk acts as a suspension, i.e it absorbs the energy.
The bottle should be filled to some minimum level before it starts to act like a suspension. If you fill the bottle with very little milk then the increase in kinetic energy due to mass will be more than its ability to absorb energy. So there will be more energy that can be used in breaking the bottle, hence more pieces.
When the bottle is filled with enough milk then the increase in kinetic energy due to mass will be less than its absorbed energy. Hence there will be less energy spent in breaking the bottle.
Mathematically it will look something like this:
$$(m_m+m_b)gh= K_{pieces} + E_{break} + E_{milk} +E_{surrounding}$$
When there is very little milk then $E_{milk}$ is small. Hence $E_{break}$ will be more (since energy is constant). And obviously $E_{break} \propto N_{pieces}$. Similarly $N_{pieces}$ will be less if $E_{milk}$ is more.
Hope this helps.