Can a Turing Machine simulate every possible Turing Machine?
Your conclusion "this Turing Machine must have infinite data on its tape" is not accurate.  Everything up to that point is basically fine, but that one statement is not correct.

Turing machines never have an infinite amount of data on the tape at any one time.  At any point in time, they have a finite amount of data on the tape.  However, this amount might increase over time without limit.  That's not the same as saying that at any point the amount is infinite.

An analogy: imagine I start counting out loud 1, 2, 3, 4, 5, 6, etc., without ever stopping.  At any point in time, the number I said aloud is finite.  However, there is no fixed upper bound on these numbers; they increase without limit.

It's the same with such a Turing machine.  Call this machine $M$.  It simulates all Turing machines in parallel, but crucially, each simulation proceeds at a reduced speed.  $M$ itself will be one of the machines being simulated, but at a reduced speed: say, 1000x slower (just to make up a number).  So, $M$ is simulating $M$ running 1000x slower.  That means it is also recursively simulating $M$ running 1000000x slower, and so on.  (And because the simulated $M$ is running slower, it writes to the tape more slowly, so the size of the tape grows slower.)