Are you kidding me? Where did you find that circuit?
I gather you set up two separate 3V supplies and two "switch circuits in parallel" in order to ensure enough current compliance, if I'm interpreting your words together with your circuit correctly. 4AA batteries arranged as two supplies, right?
Your NPN switches are NOT wired correctly.
I believe that the Raspberry pi uses a 3.3V supply rail for the I/O, so I'm going to assume that the outputs are 0V or 3.3V, when activated LO or HI. You appear to want two separate +3V power supplies in addition, I gather, and do not want to operate the motor bi-directionally nor to support "braking," and need a common ground rail to share in common with our microcontroller's +3.3V I/O pin supply. I'm also assuming that you are driving BOTH I/O ports in identical ways, so that if one is HI the other is HI, etc. You are using the two switches because you feel this is the best way to provide the needed current and I shouldn't debate that.
Before I start, let me say that I'm a little bothered by the idea of keeping two separate power rails for the system. You already have a +3.3V (and 5V, I think) supply rail that feeds the Raspberry pi. I'd probably attempt to use that, rather than set up a completely different (heavy) pair of 3V battery systems added to it. But let's assume this is the way you want it and that I didn't misunderstand the circumstances so far.
I don't know how much current you want into the motor. You don't state. This is important, because it bears on the right sizing of the base resistor AND even MORE because it bears on the current compliance capabilities of your I/O port to drive it. Chances are, for any significant motor current, you will EXCEED the ability of the Raspberry pi I/O ports to deliver current. I read that "GPIO input hysteresis (Schmitt trigger) can be on or off, output slew rate can be fast or limited, and source and sink current is configurable from 2 mA up to 16 mA." I do NOT know how you have configured the I/O, yourself. But it appears configurable. No more than 16mA, though, at maximum. And that is ONE I/O pin. I don't know how well it will sustain four (two for each motor) at 16mA. It may work. Don't know.
Assuming you want in the 100's of mA for your motor (or more), you pretty much need to guess that your BJTs will have to be operated with β=10 or so. With lighter loads, you can afford to use β=20 or β=30 for saturated operation. But not at currents where you feel the need for parallel operation of AA battery systems. Hold to β=10 to keep the VCE as low as possible.
One problem here is that your I/O is ground-referenced and you are setting up two separate power supplies with the motor between a shared collector and a common battery connection. So one side of your two battery systems MUST be tied together and both collectors are tied together, as well. This means the emitters MUST be isolated from each other (cannot be common to each other.) That's the only way two battery systems can work. But if you use NPN BJTs as your switches, you will want the emitters to be held in common, which you CANNOT DO. So in this case you MUST use PNP switches to keep the circuit simpler. So this means something like the 2N3906 or 2N4403.
Looking at the 2N3906 datasheet, your VCE will be at least 220mV even with β=10 (at 100mA, which is the largest Ic current the graph shows.) That's typical. You should plan on 250mV no matter what and 300mV to be safer.
With only 16mA drive at best and β=10, that's only about 150mA per switch. With two, perhaps 300mA then. Vbesat is going to be precariously close to 1V. So with the PNP switches on (I/O at 0V), you will see about 2V across the 330Ω resistors. That's about 6mA, not 16mA. So you may want to reduce the base resistor values, while you are swapping out for PNP BJTs. Perhaps 120Ω or 150Ω would be good to have around and try out.
Still, I left your 330Ω resistors in the circuit found in the following link. Try that approach and see what happens.
[Given that your drive voltage is 3.3V (I think), your BJTs will be operated with a slight reverse bias when off (about 0.3V.) This is small enough that most BJTs won't "break." But if it were to exceed a reverse voltage of about 5V, a lot of BJTs will start to "zener" and you'd need to worry. But it's okay here.]