«Спаси́бо» comes from «спаси бог» (~let the God save [you]), so we write «о» according to the etymology.
Similar to English, spoken Russian blurs vowel sounds. In English a lot of different vowels come out sounding like "uh," which is called the "schwa" sound. Quick description here that I copied from the internet:
The schwa is the vowel sound in many lightly pronounced unaccented syllables in words of more than one syllable. It is sometimes signified by the pronunciation "uh" or symbolized by an upside-down rotated e. A schwa sound can be represented by any vowel.
From what I've heard and seen so far on Duo, there are other Russian vowels which, in words of more than one syllable, change their sound, sometimes due to the sounds around them, sometimes due to being unaccented syllables, sometimes due to factors I don't know about yet ...
I don't know if you're still learning but here a quick overview: When accented they sound like they should in the ground form. When not accented o becomes a and e becomes i
Thus in Мото́р where have the accent on the second o, it sounds like Mator. And по немецки in for example "Я говорю по-немецки" The "по" is seen as part of the word and this is why the o is getting reduced to a so it sounds like "Я гаварю па немецки" Even though most of them were 'o'.
I hope I helped a little