Why does 10base10 have a maximum segment length of 1000 to 2000 meters and 100basef has 400 meters?
The maximum segment length is based on the signal attenuation of a particular media in terms of dB loss per unit length - for each meter of cable. The signal is reduced by a certain amount due to various electromagnetic effects. At a certain length, the strength of the signal falls below a critical threshold and becomes unreliable. Cables can work beyond rated distance but usually with severely degraded performance.
The rate of attenuation is specific to the materials used and also the signal being applied. Higher transfer capacities operate at higher modulation frequencies. Attenuation characteristics are often highly frequency dependent.
100baseF is 100 MHz Ethernet over fiber and can run as long as 2000 meters (depending on who you ask.) 10base10 is lower frequency at 10 MHz and is designed to run as long as 1000 meters (the second '10' indicates the maximum segment length in 100s of meters.)
This is really a case where "your mileage may vary."