They were looking at 64 bits of address space for a while, and how many addresses per square foot/meter that meant. Then they looked at population density, in very high density places. They saw that in a dense highrise in say NYC or Shanghai, you actually come close to that limit. What would be the point of the rollout if you may need to increase size again in the easily foreseeable future.
So they went to 128 bits, so that there was no chance at all you'd exceed that. Though... (obligatory XKCD joke)
It also helps with routing. Think of all the madness with address classes, CIDR, and all that. By having some extra bits, you can make the network/machine split part of the address cleaner.
I'm reminded of Animal House .. "Why Pinto?" "WHY NOT?!". 128 bits puts 8 more bytes in the packet. It's not a huge increase in size. When ipv4 was being invented around 150bps or 300bps was pretty common. Now I have 12MBps to my home, and the US is actually pretty slow when it comes to broadband (compare to say, South Korea). An extra 8 bytes per packet to futureproof it isn't all that bad.