Have 4 lights on circuit 1 to single pole switch with power. Have same setup for second switch. Want to replace both single pole with 2 3way switches so that at each switch i can turn on/off each set of four lights. Do i need 2 12/3 cables between each switch location?
You will need two separate 12/3wG between the two switch boxes. This is a case where you cannot use 3 x 12/2wG to get the six conductors, because you don't have three independent pairs.
If the power enters this complex at one of the lamps, you will need 12/3wG from that lamp to the nearest switch box; otherwise you need 12/2wG from the switch boxes to the lamps.
Your diagram shows a square of wiring between each group of four lamps. You only need three sides of the square.
When you run the cables between the two switch boxes, you may discover that power is fed from your service panel to one of the switches, and chained from there to the other switch, via a 12/2wG cable. If this is so, remove or abandon that cable and replace it with two 12/3wG cables. Then connect the switches and lamps like this:
If you examine this design you will see that each lamp group with its controlling switches is completely independent from the other. They are connected only at the wire nuts on the power feed cable.
OTOH you may discover that there is no connection at all between the two switch boxes, and the two lamp groups are on independent circuits and may even be on different breakers. In that case there is no connecting cable to remove; just run the two 12/3wG cables between the switches. Then connect the switches and lamps like this:
Here it is even more obvious that each lamp group with its controlling switches is completely independent from the other. You could print the diagram and cut the two circuits apart with scissors.
Be careful to avoid mixing the wires between the two 12/3 cables, otherwise you could end up with something that seems to work, but is very dangerous to future maintainers, and generates inductive heating in hidden places.
I haven't included the fault ground wires in the diagram. Generally the best thing to do is to connect together all the fault ground wires that you can find, and also connect everything electrically conductive that you could touch to a fault ground wire.
There is one exception to this rule: When parallel cables run between two junction boxes like this, and the boxes are metallic, the two fault ground wires will form a conductive loop, which will couple inductively with nearby active conductors and possibly carry significant stray currents. This is called a "ground loop" and should be avoided.
The rule for parallel sheathed cables between metallic j-boxes should be: use only one of the provided fault ground wires and leave all the others capped off.