Why is the longest block the one that gets accepted by all the nodes?
The problem here lies in a misunderstanding. It's not the longest block that wins out, but the longest blockchain (read "the blockchain with the most cumulative difficulty"). The length of a single block is hereby irrelevant and in fact usually the node that first confirms a set of transactions wins.