Why is it that a period of one thousand years is a millennium, but one million is a thousand thousands?
The words million and millennium are formed differently and so mean different things.
Millennium is a Latinate compound of mill- meaning "thousand" and -ennium, meaning "year". (Compare related compounds such as biennium or centennial). Its meaning follows straightforwardly from its composition.
Million, on the other hand, comes from a French or Italian word million(e) meaning "great thousand", which very early on came to mean "a thousand thousands". While this ultimately also goes back to the Latin root mill- for "thousand", the derivation is different, and so is the derived meaning.