First, a comment on your proposed method of battery management. Since you are charging batteries in series, as long as they have similar Ah capacities, don't worry about the voltage at the tap between them ( and trying to shunt current around either the upper or lower bank). Just charge until the terminal voltage of the series banks is = 12cells *2.35V/cell = 28.2V (adjusted for ambient temperature), and don't let that voltage go any higher
Since over time, one of the banks will begin to have less capacity than the other, that is the time to monitor the voltage at the tap during discharge. The goal is to disconnect the discharge load from the batteries when the voltage of either the upper or lower bank drops below 6cells*1.92V/cell = 11.52V.
The trick to monitoring the battery voltage(s) is to know how the A/D converter in the Arduino works.
First, the 0 to 1023 reading is ratiometric with respect to the Arduino's supply voltage, meaning that if trying to read an absolute voltage accurately, you have to know what the Arduino's Vdd voltage actually is with some precision. You will have to adjust the reading in the code by multiplying by an experimentally determined calibration factor to account for the resistor tolerances and the actual Vdd.
Second, the Arduino's A/D input pin has a spec for DC input leakage, and it has a different spec for the AC source impedance. This makes it possible to feed an analog voltage to the A/D pin using high value resistors as a voltage divider provided that the A/D pin is bypassed to GND with a suitable shunt capacitor.
Here is how I would do it: