You arnt turning the hi side fets on properly.You need at least 10 volts between the gate and source to turn the fets on, and that means that if you only have a 12 V supplyyou need at least 22 volts to turn on the hi side fets.Google H bridge driver to find a suitable driver chip for your circuit.
Yes, the hi side fets dont their sources grounded, so the gate voltage has to be higher than the supply voltage, by whatever is needed to ensure that the fet saturates properly.As well, you have to turn all the fets on and off quickly which means that the gate source capacitance has to be charged and discharged quicklyand as well you have to prevent shoot through all of which a h bridge driver does for you.
How about some part numbers for what you are using?What is the circuit intended to do?"small powered inverter" doesn't really say.
So you want to take 12VDC and chop it up using N-Channel MOSFETs to look like 0-12V at some frequency?
That original circuit is crazy - 50k resistors driving the gates? That's going to switch absurdly slowly - most of the power will end up in the FETs rather than the load!Several things are important with FET bridges - (1) high and low sides of the same arm must never be on at the same time (called shoot-through this is extremely bad(*) unless there is some current limiting involved, in which case its just bad).(2) The devices must switch fast enough to avoid wasting power. A good ballpark might be switching time < 0.5% of cycle time. During switching the devices dissipate upto as much power as the load, this will dominate the power consumption of the MOSFETs unless switching time is much much shorter than the cycle time. The MOSFET is supposed to be a switch, not a heater!(*) bad as in exploding MOSFETs and burnt out circuitry.