Note that decreasing the size of the engines won't reduce the maintenance cost, assuming you also increase the power rating to get the same amount of engine power, because the cost of it is based on engine power.
I don't know the formula, but AFAIK failure rate increases as the maintenance clock increases, which is why the glossary tab uses the phrasing "during the first year after an overhaul".
Because your ships use more than 50% of MSP after a single engine failure, you can't withstand 2 full failures, and the second is more likely because the maintenance clock has increased.
To improve the situation you could increase MSP storage to withstand 2 failures, which I think would make your 'real world' results more closely match the maintenance life stat. Alternatively you could swap MSP storage for engineering space to reduce the base failure rate, but you should make sure you have enough to withstand 1 failure.
My suggestion would be to look at all the values in the class design on the line starting with Maint Life, rather than looking at maintenance life only.
Maint Life 0.79 Years MSP 203 AFR 256% IFR 3.6% 1YR 256 5YR 3,838 Max Repair 198 MSP
If you consider the example above, you can see that the estimated maintenance life is 0.79 years or about 9.5 months, and the expected usage in 1 year is 256 MSP, 26% more than it has on board.
However these comforting stats hide the fact that a single failure can drain 98% of the MSP on board. If you look at the IFR you have a 3.6% chance of the ship using all its onboard MSP every maintenance cycle, or (roughly) 6 times per month.
In this case, I would guestimate the deployment time by taking the inverse of the AFR where AFR is expressed as a decimal (so 90% is 0.9). The result is in years, so in this case 1 / 2.56 = 0.39 years, or 4.7 months. (I actually gave the class a 6 month deployment time which now seems a little long).
This way you are estimating the time for a single failure, which is effectively when the ship becomes incapable of further deployment.