It's because when they claim 500 gigabytes they're actually saying you get 500,000,000,000 bytes.
That 500,000,000,000 bytes is divided by 1024 to get the actual number of kilobytes (kilo being 10^3 in a normal metric sense, but 2^10 in a binary sense). That mathematical operation results in 488,281,250 kilobytes.
That 488,281,250 kilobytes is divided by 1024 to get the actual number of megabytes (mega being 10^6 in a normal metric sense [which is 10^3 x 10^3], but 2^20 in a binary sense [which is 2^10 x 2^10]). That mathematical operation results in 476,837 megabytes.
That 476,837 megabytes is divided by 1024 to get the actual number of gigabytes (giga being 10^9 in a normal metric sense [which is 10^3 x 10^3 x 10^3], but 2^30 in a binary sense [which is 2^10 x 2^10 x 2^10]). That mathematical operation results in 465.7 gigabytes.
Condensed, you have:
500,000,000,000 bytes = 488,281,250 kilobytes.
488,281,250 kilobytes = 476,837 megabytes.
476,837 megabytes = 465.7 gigabytes.
Also important to note is that your 500 Gb drive most likely has more than 500,000,000,000 actual bytes. My two 500 Gb drives each have 500,105,736,192 bytes. My 1 Tb drive has 1,000,068,870,144 bytes.