L298N Motor Driver and DC Motors Not Spinning

Is it necessary to connect the motor driver ground and the Arduino ground?

Always necessary to connect the grounds.

The 9V battery might be able to spin one motor for a couple of minutes before dying. But don't count on it!