4tnemele's answer is great, but I thought I'd try to give a simpler explanation of the main point of confusion.
Let's say (as in 4tnemele's answer) that there's only one relevant orbital (or "energy level") at each site. That means there's two states a single electron can occupy: spin up and spin down.
Also, let's say there's no magnetic field.
You say "Due to on-site Coulomb repulsion the two electron levels are separated by U energy at a doubly occupied site." This is wrong, because there is only one "level" (orbital), not two. The Coulomb energy penalty U only applies if there are two electrons in that level, one spin up and one spin down.
At a doubly occupied site, the overall energy is increased by U, but that energy doesn't belong to one electron or the other. It comes from the interaction between the electrons. At a doubly occupied site, the two electrons still have exactly the same spatial wavefunction. The many-body wavefunction is spatially symmetric. This is why the spins have to be opposite.
So the basic problem is that you shouldn't say "the two electron levels are separated by U". Instead you should say "the state with two electrons at the same site is increased in energy by U relative to what you'd otherwise expect (twice the single-electron energy)".