Des haricots et des hommes

Une question que je me pose depuis longtemps : pourquoi ne doit-on pas prononcer le « s » quand on dit « des haricots » (sous pretexte que le « h » mange le « s ») alors qu’on fait bien la liaison, oralement, pour dire « des hommes » ?

Pendant qu’on y est, je vais vous apprendre un truc. Le pluriel de « bonhomme » prend un « s » à la fin, évidemment, mais aussi un autre en plein milieu, que l’on va prononcer. Ce qui donne « bonshommes », à prononcer « bonzomme ».

C’est pas très ninja tout ça.