These contact forces generate due to electromagnetic interactions between the atoms on their surfaces...and the answer to your ques that why they are normal is :
Actually when two paticles exert force on each other they always exert it along the virtual line passing through them ... so in real world imagine a no of particles on one surface and a no of them on another ... these particles will exert force on each other in opposite direction and along the lines i wrote above... now for ideally all lines being parallel (because we consider the surfaces parallel in problems), all lines of action of force are parallel to each other and prependicular to the surfaces......and now we consider the forces to sum up and acting through center of mass ... so we get a normal force ...
I hope u get it now.....this was all i know......if I'm wrong get me know...!