The assumption of 12.5Vdc after the diode is wrong.
If you had a 12V transformer that is the rated Vac rms at its rated load @ tbd VA, you would not get 12.5V. It is slightly < 10Vac.rms input but that's not my point.
It is unlikely your transformer is rated at 20mA @ 12V or 0.24VA so the output voltage Vac and VA rating must be given. Normally the transformer losses are typ. 10%, so the no load voltage will always be this amount higher.
The 3rd source of error comes from full rated load with high reactive loads with poor power factor. This results in higher peak currents and square law losses thus the temperature will rise so the VA rating at 85'C must be reduced by about 30%.
Therefore your assumption of 12.5V is wrong, therefore your conclusion will have errors. (not huge , but misleading when you compute the wrong secondary Vrms)
Finally, Zeners have high voltage ripple with AC load current due to input ripple voltage voltage Vacpp into Zener threshold resistance Zzt and the knee resistance Zzk. This must be specified in your design for Vmin and Vmax in addition to Pd and Trise.
yes there are better ways to regulate and reduce ripple or reduce temp rise but linear half wave is not the best way to power a 20mA load.
Final Words of Advice.
Try to specify the source better and then the load specs for ripple, Vmin, Vmax, Vdc as the ripple is not symmetric. Also component temperature, T_rise is best to choose 50% of max rated power, as Pmax which is often rated at 125'C case temp or 100'c C rise.