This has to do with the positive and negative infinity of the distribution on both tails. F(0) sums from negative infinitive to zero and gives you 0.5. Remember: The sum on both sides must be 1. In contrast, when you take a z-value of 1.96 you cut off the infinite part of the distribution which leaves you with a probability lower than 0.5 (0.475 in this case).
If you have a 2-tailed test you test on both sides of the distribution (you want to know whether the population mean is higher or lower of the sample mean), hence it is not correct to take the half of the 97.5%.