Sizing a circulator pump in a closed loop heating system with multiple zones
You may consider 
boiler maximum power (30kW = 26kcal/h ), because you must be able to handle the heat your boiler can produce at full power.

difference in temperature between flow and return [usually 10°C, 20°C on condensing boilers] 20F (11K) is ok for standard boiler. If you have a condensing one I suggest you to increase the delta to 20K to both run your boiler at bigger efficency and reduce electricity need at the pump]  

and get a pump that can hold that flow, in our case [10K delta] 10kcal/kg or about 2.6mc/h [1.3mc/h for 20K delta]

[26kcal/[1kcal/kg K] * [1Kg/L]] of water, then measure maximum water column you need on your system and choose a pump that can handle that flow for water column you have.

You should get zone valves with 'built in by-pass', so the flow is the same in any configuration (3 zone open 860L/h all trough the rads, if two zones are closed you have 1700L/h flowing trough by-passes and 860L/h flowing trough the only zone that is open and so on).

Anyway, 2.6mc/h (similar to your 12gal/min) won't fit well over 3/4" (20mm internal diameter) pipe because of excessive water speed (around 2m/s) that results in noisy pipes, it also will have quite high head (about 20cm wc per metre of pipe)

Anyway, flow [mc/h] = max power [kcal/h] / deltaT [K] (I use calories because 1Kcal heats 1Kilo of water 1K making calculation easy)