Both batteries were undercharged. Anytime you are diagnosing a starting problem one of the first things that you should do is charge the battery over night then check the battery the next morning. Here is something that may seem strange, but it's true. A voltage reading of 12.4 volts indicates that the battery is only 75% charged. A reading of 12.2 volts indicates 50% charged and 12.0 volts is only 25% charged. A reading below 11.9 volts the battery is a fully discharged and entering a point where it may be damaged. Any reading below 10.5 volts indicates a damaged battery that should be replace. A batter's state of charge is not a linear scale between 0 and 12.7 volts.
An engine needs a certain minimum cranking rpm to start. The coils need a voltage around 8.5 volts or higher to have enough energy to create a spark hot enough to start a cold engine. At what voltage does the ECU stop firing the injectors? I dunno, just throwing that out; the ECU does monitor battery voltage for the fuel injectors.