I can see why it feels like black magic, since it seems like the electrons that leave the anode of one battery just go into the cathode of the next battery, and there seems to be no reason for the voltages to add up.
But let's look at it in a different perspective. Let's say you have a battery A with a voltage v0. Battery A is the only battery in a circuit with a resistor R also in the circuit. Resistor R's resistance is SO high, that battery A is hardly able to generate a tiny current through the circuit. v0 just isn't enough to produce a significant current through resistor R.
But now, let's say you add battery B and battery C in series to battery A, with resistor R still in the circuit, too. Batteries B and C also have voltages of v0.
In each battery, within a closed circuit, an electron really wants to leave the anode while another electron from the wire enters the cathode. When we just had battery A hooked up to resistor R, it's voltage v0 wasn't enough to make this happen, remember? But now, with all 3 batteries in series, not only does battery A's voltage want to naturally push an electron away from it's anode, but battery B's cathode also is exerting a pull on an electron from battery A's anode, too! And with just a voltage of v0, how is battery B able to give up an electron from its anode to so that it can receive one in its cathode from battery A? Because it also feels a pull from battery C's cathode, from battery C's v0! And last, you guessed it: battery C is willing to give up an electron from its anode to accept one in its cathode (with just the low, individual voltage v0) because it feels a pull from battery A's cathode as well! There's no first or last, it all happens at once, like a chain. Do you now see how the effects of each battery compound to produce a much higher voltage (aka a much higher motivation, or pull/push for electrons to flow) ?? Also, assume resistor R was between battery C and A. That part doesn't really matter.