First of all, you can have a potential without any current flowing. Even if the emitter is "floating", it will still have a potential, notably, 1 diode drop different from the transistor base. Let's say, 0.7V. Technically, with no current flowing, it will be closer to the base potential, but that's a separate complication and it's irrelevant to understand how this circuit operates practically. You are on the right track with the rest of your understanding.
Consider this simplified model. I broke the operation down into two puedo-circuits: one for the off-to-on transition, and one for the on-to off transition. Since the bases of both bipolars are common, and they are complimentary, both bipolars can't conduct at the same time. So, as a simplification, only the conducting bipolar is depicted in its respective circuit. Another simplification is looking at the MOSFET as a capacitor because that is all the "driver" sees (strictly speaking, the capacitor model is a bit more complex then what I shown, but we are going to ignore the higher order effects as it adds unnecessary complications).
![schematic](https://cdn.statically.io/img/i.sstatic.net/4XObR.png)
simulate this circuit – Schematic created using CircuitLab
In the first circuit, everything is off, PWM is low (0V) and MOSFET is off. Now, PWM goes high (VCC, or 12V in your case). Current starts flowing through the resistor and the MOSFET gate gets charged and begins to conduct. Current keeps flowing into the gate until it equals VCC. The MOSFET is now saturated and the drain to source channel is super low impedance - the MOSFET is fully on.
In circuit 2, the reverse happens. The PWM signal brings the base of Q2 to ground, forward-biasing the emmitter-base junction. The charge that was accumulated in the first circuit can now be shunted to ground. This cause the voltage across the MOSFET gate-source junction to fall to zero. Now the MOSFET is in it's off state where the drain-source channel is super high impedance.
When using a MOSFET as a switch (not an amplifier), you typically want to switch the transistor as fast as possible. And the reason you want to switch it fast as possible is to get the MOSFET out of its ohmic region as fast as possible to minimize heating up the junction - the transistor doesn't generate heat when there's no current through it (off state) and it doesn't generate heat when there's no voltage across it (on state). In the ohmic region in the middle of the switching transistion, you have both current flowing with a voltage dropped across it (P=V*I, P is heat).
At this point, you could argue: So what? It takes like a millisecond to turn the damn thing on or off. How much heat could that really make? And you know what? You'd be right, It's really not so bad; it's only a little bit of heat. You don't even need a heatsink. But, if you're turning that SOB on and off a thousand times a second; 20,000 times a second; 500k times a second, well then we're talking about real heat. This will matter in PWM circuits and especially power convertors that are hard-switching, where this transition heat is not only a problem, but no eats up the system efficiency.
So the whole point of this push-pull (partial) gate driver is to switch the MOSFET hard n' fast by moving a lot of current (charge) in and out of the gate so Vgs changes rapidly.