Motors causing my Arduino to behave strangely

I’ve been working on integrating an Arduino Nano into a Nerf Stryfe with a 3s Lipo (12v) battery. It also reads voltage using a voltage divider to bring it below 5v and then multiplying it in the code. I have quite a bit of programming experience but very little experience in electronics. I have tested the display and Arduino without the motors and everything works fine. The problem is when I use the motor with the mosfet and even the motors that aren’t connected to the Arduino in any way. Whenever the motors are being powered, the display gets goes crazy and it usually returns to normal. Sometimes the display freezes and the Arduino freezes, leaving the mosfet open and the motor running. I initially thought this was caused by vibrations from the motors, but I tested that by shaking and lightly hitting the blaster and the problem didn’t reappear. I suspect it has to do with either current or some sort of flyback from the motors but I’m not sure. My code uses u8 glib and simple logic to start and stop the motor based on the switch on the trigger. I know it’s not the code though since I have tested it before the motors and it worked perfectly. I have drawn a wiring diagram which I’ve linked below, it’s my first time drawing one, so sorry if it’s not that good.
[Image Link]

I also have a video of the issue:
[Video Link]

Here are links to my parts:
Motors: [Link]
Mosfet: [Link]
Battery: [Link]
Display: [Link]

some sort of flyback from the motors

A very likely cause of the problem. A reverse biased diode across the motor will shunt the reverse EMF created when the motor shuts off. And without the flyback diode the MOSFET can be damaged. A small cap across the motor will help to suppress high frequency noise from the motor. The 180 resistor on the input limits the current into the gate while the gate capacitance charges and the 10K keeps the MOSFET turned off when the processor is reset and the gate is momentarily floating.
Place the diode and cap as close to the motor(s) as possible.

dc motor driver.jpg

You are powering Vin direct from the motor battery - that's not a good idea, that's very dirty power with spikes and dropouts, all kinds of badness.

Separate power for the Arduino, common the ground with the traction battery at the voltage divider only.

I have severed all connections between the Arduino and the LiPo battery and am now using 2 seperate power supplies, a 9v for the Arduino and the LiPo for the motors. For some reason, even with the voltage divider and mosfet disconnected, my voltage reader pin is still reading a voltage and I am still getting the display scrambling, although not as bad. The Arduino is mounted right next to motors, but there is a plastic shell seperating them, could that be the issue?

my voltage reader pin is still reading a voltage

It is floating. Always connect the grounds together.