The datasheets for your Mosfets show that the N-channel one conducts 18.6 times better than the P-channel one so the P-channel ones are much warmer.
The piezo current is not high so the "shoot-through" current is what causes the heating of the P-channel Mosfets.
You cannot bolt both P-channel Mosfets to the same heatsink unless they have mica or polymer electrical insulation.
A heatsink inside a closed box is almost useless unless the box is huge. Use the surface of an aluminum box as the heatsink. The air outside the box will cool it.
The piezo current is not high so the "shoot-through" current is what causes the heating of the P-channel Mosfets.
You cannot bolt both P-channel Mosfets to the same heatsink unless they have mica or polymer electrical insulation.
A heatsink inside a closed box is almost useless unless the box is huge. Use the surface of an aluminum box as the heatsink. The air outside the box will cool it.