Since this question essentially became about a [LT]spice simulation, here's the answer to that "mystery".
The diode model in SPICE does have an ohmic resistance parameter (RS in the figure below) to simulate bonds/wires/contacts. At DC it looks like:

(Source: http://www3.imperial.ac.uk/pls/portallive/docs/1/7292572.PDF)
Since this circuit used an 1N4148 model (not the ideal diode model), the ohmic resistance (Rs) was set to a non-zero value; actually to 0.568ohms.

If you put a single 1N4148 (forward biased) in series with a 12V DC source, you'll get about 19.3A through it in LTspice (so with two you'll get about half that). A trivial calculation/approximation with Ohm's law (ignoring the voltage drop over the current source || GMIN) shows that 12V through 0.568ohm will give a 21.12A current limit.
Of course, as correctly emphasized by several others on this page, in real life, the 1N4148 diode catches fire (bonds vaporize and what not) long before reaching those levels of current.
Also, it seems there's a large variation between SPICE-based simulators' databases on diode RS values. For example TINA-TI has only 2miliohms for 1N4148, so in that sim you get 5.3kA through it.
Of course it would be nice if SPICE-based simulators implemented power dissipation limits for component packages and flashed a newbie-friendly warning when it's exceeded... but alas they typically don't have that feature because it's not standard in the academic & free SPICE codebase they're based on. (If someone knows of a counterexample, please leave a comment.) So in SPICE-based simulators it's normally left to the user to figure out that the current or power dissipation limit is exceeded for a component and that it catches fire in real life.