So that they will be stable.
As I understand it, we (admins of ipv6 networks) are expected to run both public and private sets of addresses internally. The public ones may change if your ISP makes you, but your ULAs never do.
"ULA per RFC 6724 is less preferred (the Precedence value is lower) than all IPv4 (represented by ::ffff:0:0/96 in the table). Because of the lower Precedence value, if you have IPv4 enabled on a host, it will use IPv4 before using ULA."
https://blogs.infoblox.com/ipv6-coe/ula-is-broken-in-dual-st...
[0] - https://github.com/commscope-ruckus/RUCKUS_ICX_Ansible