The reason for the difference in units is historical.
When computers started out memory was very small. It reached 2^10 which was 1028. Some bright spark thought of calling it a kilobyte because it was close to 10^3. The error was less than three percent. However taken to 10^30 for the giga scale this error compounded and people begin to notice the big difference.
The SI unit has been misued and the boffins in charge have decreed it as such. They offered kibibyte, mibibyte, gibibyte etc as alternatives. Windows should call their unit gibibytes. They use the GB abbreviation in sizing drives but the correct abbreviation is GiB. In some views you can see the bytes and will notice the difference.
However the old usage, particularly as it is supported by Windows still prevails except in drives where they manufacturer want to use the biggest number they can.