Does every chosen seed for random.seed() guarantee that random will generate a uniformly distributed sequence?
Let's say I would like to generate n > 10 ^ 20 numbers

Let's say not.  If you could generate a billion values per second, that would require 1E20 values / 1E9 values per second / 3600 seconds per hour / 24 hours per day / 365.25 days per year, which is more than 3000 years. Even if you have hardware and energy sources that reliable, you won't be there to see the outcome.

using random.seed(SEED) and n subsequent calls to random.random()

The results would be statistically indistinguishable from uniform because the underlying algorithm, Mersenne Twister, is designed to produce that behavior.
Let's say I would like to generate n > 10 ^ 20 numbers using random.seed(SEED) and n subsequent calls to random.random(). Is the generated sequence guaranteed to be uniformly distributed regardless of the chosen value of SEED?