So, the designers of IPv6 could not conceive that somebody could have less than 2^64 devices and still want to put them in separate networks?
Networks are allocated as /64 chunks because it makes autoconfiguration easy. It is often argued by newcomers that this is a huge waste, but really, 128 bits gives you so many addresses that you can stand to do a bit of wasting in order to make things simple. Generally the "what a waste" crowd severely underestimate just how big 128 bits is.
So now my ISP will have a say in how many internal networks I have?
Yes and no. You _can_ allocate networks smaller than a /64, but you can't use SLAAC on such networks. That means you're stuck manually configuring devices or using DHCPv6. I believe Android has no support for DHCPv6, so you're probably very restricted if you choose to use a nonstandard network size.
And this is supposed to be better than IPV4 with NAT?
Oddly enough, yes - ISPs really shouldn't be restricting your internal infrastructure. If your ISP is being a dick about this then the answer is pretty obvious - switch to another ISP, it isn't as if ISPs are thin on the ground.