The same masking idea, at 128 bits
For the address 2001:0db8:0000:0042:0000:0000:0000:0001 with a /64 prefix, the network address is 2001:0db8:0000:0042:0000:0000:0000:0000, and the range extends to 2001:0db8:0000:0042:ffff:ffff:ffff:ffff — a total of 18,446,744,073,709,551,616 addresses in that one subnet.
A larger prefix means a vastly larger subnet
The same address with a /48 prefix instead (16 fewer bits reserved for network) gives a network of 2001:0db8:0000:0000:0000:0000:0000:0000, ranging up to 2001:0db8:0000:ffff:ffff:ffff:ffff:ffff — 1,208,925,819,614,629,174,706,176 addresses, vastly more than the /64 subnet's already-enormous count.
Why every address in the range is usable
Unlike IPv4, IPv6 has no reserved network or broadcast address concept — both the network address and the last address in the range shown above are themselves usable host addresses, not off-limits placeholders.
Why /64 is the standard subnet size
IETF recommends /64 as the standard subnet size for most IPv6 networks, leaving a full 64 bits for the interface identifier — far more addresses than any practical network would ever assign to hosts, existing specifically to simplify address auto-configuration rather than to conserve address space the way IPv4 subnetting does.