There is just one IPv4 address per Network/Router that is connected to
the Internet.
That is not even close to being true. You are seeing things through the eyes of a typical home network user.
Think for a minute what you, as a home user with only one public IP address, would do if you want to allow multiple devices using the same transport protocol and port, say two web servers, which by convention use TCP port 80, to be accessed from the public Internet. You can port forward TCP port 80 on your public IP address to one private IP address, but what about the other web server? This scenario will require you to jump through some hoops which a typical home user isn't equipped to handle. Now, think about the IoT where you may have hundreds, or thousands, of devices (light bulbs, thermostats, thermometers, rain gauges and sprinkler systems, alarm sensors, appliances, garage door openers, entertainment systems, pet collars, and who knows what all else), some, or all, of which want to use the same specific transport protocols and ports.
IP was designed for end-to-end connectivity so, no matter how many different hosts use the same transport protocol and port, they are uniquely identified by their IP address. NAT breaks this, and it limits IP in ways it was never intended to be limited. NAT was simply created as a way to extend the life of IPv4 until the next IP version (IPv6) could be adopted.
Many people confuse NAT with security, but NAT has nothing to do with security. Firewalls and other things, perhaps anti-virus software, etc., give you security. Home networking devices usually include a NAT router and firewall combination, but make no mistake about it, you don't need to enable NAT if you have a sufficient number of public IP addresses, and you can still use a firewall for security.
IPv6 currently has 1/8 of the IPv6 addresses in the entire IPv6 address block set aside for globally routable IPv6 addresses. Assuming there are 17 billion people on earth in the year 2100 (not unrealistic), the current global IPv6 address range (1/8 of the IPv6 address block) provides over 2000 /48 networks for each and every one of those 17 billion people. Each /48 network is 65,536 /64 subnets with 18,446,744,073,709,551,616 addresses per subnet.
The ideas for the IoT are in their infancy. We just can't foresee what is in store for IoT, much less what else may be coming.
See also Why do we need IPv6?
– Reinstate Monica - M. Schröder – 2015-11-12T20:20:24.903