BJT push-pull for a MOSFET
Your BJTs are in a follower configuration.  This means that they can provide current gain, but not voltage gain.  In fact the emitters will be a diode drop BELOW the base for positive going signals.  If you got to 6V on the gate you must have had around 6.7V out of your signal generator.

The BJT Wiki page has links to the 3 common forms of amplifier which explains more about the characteristics of BJT amplifiers.

BJT Wiki

The current gain is a good thing because in order to charge the gate capacitance of the FET in a short period of time you need high peak currents: I=C*dv/dt.  

One way to get a higher voltage swing would be to add a BJT level shifter before your gate drive stage to translate from 5V to 12V.  Of course a single stage BJT level shifter would invert the signal, but often you can deal with that at the signal source.



The pull-up resistor will have to be sufficiently small in value so that you get an acceptable rise time for your application.  VCC would  be your 12V supply and the base resistor should be sized to guarantee saturation with the 5V drive, given the beta of the transistor.  !Y should connect to the bases of your BJT gate driver stage.

However, if your goal is fast rise and fall times from the FET and not learning about BJTs, you should probably use a commercial gate driver IC.  Look for options from IR/Infineon, Texas Instruments, Intersil or Maxim.

Here's a low-cost option from TI:

UCC27517