... because, Manufacturers use the 'format' that a 128GB SanDisk USB flash drive has a total capacity of 128,000,000,000 bytes at the unformatted level (where 1GB=1,000,000,000 bytes). But, the OS uses a different 'format' of 1,073,741,824 bytes.
Oh, and it's been that way since time began, and no, the figures still won't add up.
Sandisk explains