Manufacturing tolerances. If it was on size the corresponding nut would be a tight fit. Have a look at 'selected ISO fits on the hole basis', thrilling reading.
its normal practice when using a die or tap that the final thread profile is not 100%, i.e a bar will be down from nominal size and the tapping drill is larger than the core diameter, as said, for ease of assembly and making it easier for the tap or die.
If you have a look here it seems to suggest the tolerance for the outside diameter of an M8 (coarse) bolt is between 7.76 and 7.972 so 7.9 sounds about right?
Having said that I'm not sure what 'tolerance class' is the right one to choose - I just tried it with the default?
Edit again: Just noticed it says 6g (the default) is normal for commercial external threads.
I have some bar that measures exactly 8mm - dead on. I cut threads on it with a die for odd jobs where it's better than using a regular piece of studding, and I can say that the size seems to give nice results (good threads).
If you are using a split die start at 8mm with the die open, it will cut easier then you can close the die up and make the bolt a good fit to the particular hole or nut.
But are you are measuring a bolt major dia or a set major dia because a bolt major dia ie the plain part of the bolt which should be 8mm, but the threads major dia will end up being smaller because of the cut of the thread ie the peaks of the threads do not go all the way to a point (viewed sideways) they are flattened off. That is why pipe threads leak around and around the gap on the outside and inside of the thread , unless filled with ptfe tape to seal it.
another classic is trying to use a 3/8" washer on a 10mm set, it fits fine, but it wont fit a 10mm bolt it goes on to the end of the threaded portion and stops.
Then you can get self dowling bolts which have an even larger dia to align critical parts like early vauxhall clutch cover bolts
I have a zeus form about 82 I think, still has log tables in it. got it at a boot sale for 5p with a load of other stuff. bought a new book when I started my time and the only difference is no logs in it