I would say that you speed is limited. You won't know the max speed until you delimit.
The BPM is a much bigger more powerful motor. A 328 rpm one will max out your controller at virtually every speed you travel, so the controller will soon overheat and probably pop. You have to match all the components in your system with each other, and to the speed you want to go. It's very complicated until you get your head around how they all work together. I'll try and explain:
The motor tries to draw the maximum current allowed at low speed, but as it speeds up, it generates volts that oppose the battery volts, so at high speed, the current goes down until it reaches zero at maximum RPM. If you have a low current controller, the controller will be maxed out throughout the speed range, but if you have a higher current controller, the point at which the motor can't take the maximum current happens at a lower speed. Use the simulator below to play about with different controllers to see what happens. If you look at the red line, it has a kink in it. That's the point at which the current from the motor starts to decrease from the maximum allowed.
http://www.ebikes.ca/tools/simulator.html
To run a 328 rpm motor, you need about 30A at 36v to get it up to near it's maximum speed and a battery that can provide it.
To summarise, if you want to go over 20 mph, you need a 22A controller, motor around 260 rpm and a battery that can give 20A continuous. For 25 mph, you need a 30A controller and a battery that can give over 25A continuous.