Why history search results are different in Spotlight and in Safari search bar
Why doesn’t Spotlight show the same results as in search bar in Safari?

It’s because they use two different search engines.
In iOS 8, Spotlight was using Bing (iOS 9 used Bing as well) whereas Safari was defaulted out of the box to use Google, but you could, obviously, change that. According to Wikipedia, Spotlight search uses Bing but goes through Apple’s servers first with a unique identifier that changes every 15 minutes.  However, it’s still 2 different engines, thus the different results and the non-matching history.

Since the release of Yosemite, Spotlight sends all entered queries and location information to Apple by default. The data is accompanied by a unique identifying code, which Apple claims to rotate every 15 minutes to a new identifier. In response to privacy concerns, Apple has stated that they do not use the data to create profiles of their users, and that query and location information is only shared with their partner, Bing, under a strict contract which prohibits the information from being used for advertising purposes.

So, not only is it two different search engines, the search is actually sent to Bing through Apple with an identifier that technically doesn’t come back to you, so the search history will be different even if you standardize on Bing.
IMO, I’ve been using Bing instead of Google for a while now and I can honestly say that the results are better, easier to filter ads versus genuine search results and I have less of my search activity going to aggregators who sell it to advertisers.  So, if it’s still Bing, I don’t have any issue with that at all.
Update:  After further research, in 2017, Apple switched from Google to Bing (quietly, I might add).  The process is still the same - the search  goes through Apple's servers first as they did with Bing.