With 38760 cyls / 16 heads / 63 sectors you get 20,003,880,960 bytes (20 billion bytes). Why do you consider this being wrong ?
HDToolbox will display 18,6 GB. That's normal for such a drive. Manufacturers calculate with 1,000,000,000 bytes per GB while HDToolbox uses 1,073,741,824 bytes per GB. That's marketing, nothing else.
Bye,
Thomas