In windows (and followed by HDD manufacturers as well), 1000 bytes = 1 KB, not 1024 KB. If it's 1024 B, then it's called 1 KiB, which is followed in Unix based OS'.
So for 8 GB, it should be something like this:
8GB = (1000B * 1000 KB * 1000MB * 8 ) / (1024 * 1024 * 1024) = ~7.45 GB
This is the main reason for the discrepancy.