Switching a 3v motor with a MOSFET using a 3.3v signal
Probably when turning on the motor it draws enough current that the battery's internal resistance will drop voltage. In turn you see the voltage drop at the battery's terminals.
When a DC motor starts up it needs a relatively large current in order to develop torque.
You could try and connect a capacitor in parallel with the battery. This cap should provide the initial start-up current for the motor. This will not guarante that the motor will run since we do not know the specs. However a quick look at the datasheet suggests: I_motor = P / U -> 1.3W/3V = 434 mA. Is your battery able to provide that current??

So.. Lots of questions about the specs of motor and battery.

edited:
Ok, motor is able to start if connected directly.
So my hint is to decouple the MCU voltage rail from the motor supply rail. I guess the voltage drop affects the MCU and it is not able to drive the FET properly. Maybe a brownout occurs and a subsequent reset.

Decoupling with a diode (possibly lowest forward voltage) and stabilizing with a capacitor.







simulate this circuit &ndash; Schematic created using CircuitLab

2nd edit: 

Since you updated your schematic I've updated mine:

Note: The BAT Pin is the output from the MCP73831, this is a battery charger circuit with programmable charging currents, etc. So this is the wrong place to hook up the motor. Probably by just connecting the motor directly to the battery will lead you to the desired behaviour. If not, just add the diode and a capacitor.







simulate this circuit