I suspect only Bernd Gabriel could confirm the reason those choices - there doesn't seem to have been much discussion about float32e8_t on the forum.
Your table is slightly wrong; I've fixed/expanded it here:
IEEE 754 single : exponent = 8b [-126,127], significand = 24b (including implicit leading one)
float32e8_t : exponent = 11b [-1023,1023], significand = 32b (no subnormals, infinities or NaNs)
IEEE 754 double : exponent = 11b [-1022,1023], significand = 53b (including implicit leading one)
From the corrected table, I would guess that a 32 bit significand was chosen to fit in a uint32, and the 11 bit exponent was chosen to reflect the range of a double. Judging by the (misleading) name, I suspect that the exponent was 8/9 bits at some point in development (before entering version control).
I think attempting to pack it into an IEEE 754 single would make the code more complicated and/or significantly less precise. The version we have now hopefully works well enough (with fixes), and if there any particular functions whose running time is affecting the performance then we (I?) could see if that can be improved.
As for using IEE 754 floats reproducably: Having just read a lot about this, my understanding is that it can be, but this requires careful control of various compiler settings, with a probable reduction in floating performance across the code base (I don't know how much they are used in graphics, so this might not be significant). It also require carefully resetting floating point settings after any calls to external libraries. So it can be done in theory, but I wouldn't trust Simutrans development to be able achieve this reliably and consistently (as compared to a more controlled professional development team). and the fact that Standard is not facing this issue (due to currently not using any sort of floats in the game engine) means that they have little incentive to support such efforts.
Maintaining a custom software floating-point library, however, only requires that the library itself be reproducable, reasonably accurate, and fast enough. I have already found some easy improvements to accuracy and speed (so far without adding complexity), and if necessary I could look for (and probably find) some more in any critical areas.