Need to check if a t- test should be used instead of a z -test here! For this question shouldn't they be using a t test and the test statistic should be t and not z as the sample is small? Is this a mistake in the mark scheme?
Deciding between a z-test and a t-test has to do with whether or not the population standard deviation is known.  In this case, you are told that the standard deviation is .8.  When performing a t-test, the population standard deviation is unknown and thus must be estimated with the data via the sample standard deviation.
Since it is given that the distribution is normal and the standard deviation is $0.8$ mg, then the $z$-test is correct.  If the location were unknown and were being inferred from the data, a $t$-test would be correct.

A $t$-test incorporates the simultaneous uncertainty in both the mean and standard deviation of a distribution.  A fluctuation in the mean can be caused by a sample with the correct mean, but an unlucky set of deviations.  Thus, the fluctiation in the sample conflates both the location and variance of the distribution.  Since we absolutely know the mean, there is no possibility of conflation.

Edited for cross-wiring between fingers and head:  "mean" -> "s.d.".