A few reasons. First, those back-links that Ahrefs shows that GSC does not may be nofollow. You can tell which links are nofollow in Ahrefs by looking at the anchor text (it will have a line through it in Ahrefs) or by sorting by “NoFollow”. Also, it has been said that GSC sometimes will not show lower quality links. You may find that some links show up in GSC that don’t show up in Ahrefs, or even in SEMRush.
For Ahrefs, GSC, or SEMRush to keep track of back-links, they depend on crawlers and back-link indexes. Each of them have their weaknesses.
Thanks for your help Ben, I can see in ahrefs that some are no follow but still a fair few do follows links that GSC isn’t picking up, I think it might be because I’d forgotten to add the www. version in GSC which I’ve now done. I’m gonna wait a few days to see if they appear.