64 bits isn't enough for classful (pre-CIDR-style) routing. Remember that IP addresses aren't just arbitrary numbers, they're addresses. Note also that there's a fixed divide at 64 bits, so IPv6 is "really" only 64 bits of global routing, the last 64 bits are reserved for site-local routing.
> the last 64 bits are reserved for site-local routing.
No, the last 64 bits should never be involved in routing, /64 is the prefix length for a single ethernet segment. A site should by default have at least a /48.