Why isn't the right chain chosen according to the number of nodes who are broadcasting it? So if a new node join the game, it gets blockchain from other peers.

It may actually receive 2 different chains and it chooses the longer cos of more work done.

I wonder why isn't it simply choose the one that is being broadcast by higher number of peers instead of this mining madness??
Because the cost of pretending to be many nodes is trivial. IP addresses are cheap, and anyone who controls your internet connection can pretend to be everyone.

However, mining is inherently expensive. You cannot fake hashpower.