Correct, sort of. Yes, the first four quibbles (4 character HEX values that represent 16-bits) are the network number. And so yes, all IPs on my private network (that aren't link-local IPs) have that same network number. That's the number that needs to be issued to my modem so it can issue that number to my devices when they ask (via SLAAC). What I don't know is what mechanism is used to communicate that network number to my modem. Attached is a screencap of where the Netgear cable modem indicates the network number in it's VERY limited IPv6 configuration page...
The last 4 quibbles of an ipv6 address are the host number...and for all intents and purposes, the value is random for most client devices. Link-local ipv6 IPs in the early days of ipv6 used EUI-64 to define the host number, which used the Ethernet MAC as the foundation. But that standard has been deprecated for privacy reasons. Point is, the host address simply needs to be unique on the network. With 64-bits, that's not exactly hard to do. There's ORDERS of magnitude more possibilities for host values than all possible IPV4 addresses, which IMO is an absolute WASTE and one of the many aspects of IPv6 that I have issue with, but it is what it is and they aren't going to change it just because I think it's a waste. However for human-managed devices such as commercial routers on the Internet or in businesses, you'll often find administrators will choose "easy-to-remember" values and zero-out most of tho host bytes. Do a traceroute to some ipv6 address on the Internet, and you'll see what I'm talking about. For example, trace route to 2606:4700:4700::1111 (one of Cloudflare's DNSv6 IPs).
And just to follow-up, octet requires a single-byte value. In the case of IPv4, the octet is a decimal value from 0-255.
A quibble represents a 2-byte value. In the case of IPv6 addresses, the quibble is represented as HEX values 0000-FFFF. The name comes form quad-nibble. And for those not familiar, a nibble is a 4-byte value. Two nibbles make a byte.
You are right, the router gets assigned the home network number somehow. My question is HOW that happens. DHCPv6 or SLAAC would be how the ISP gives my router it's IP, but there has to be some other mechanism for issuing the subordinate (home) network number. I wish I could Wireshark the cable modem connection and see that traffic. But I can't.
As for how many IPs you get, you get 64-bits worth. Unlike in the IPv4 days where the ISP issues you your entire IP address, in the IPv6 world, you get assigned a network number, and the host numbers you choose are completely a local matter. The ISP doesn't care what value(s) get chosen. In fact, it's a common thing for Windows to generate multiple IPv6 addresses. I've seen a dozen different IPv6 addresses assigned to my network card before. I think that was a common Win7 practice. I haven't noticed my Win10 machine doing that. Although it does produce what it calls a Temporary IP that it doesn't really appear is that temporary. It tends to stick around far longer than I associate with "temporary."