This used to frustrate me when I was a student needing these forms, but having been on the other side for some years now, let me shed some light as to why YABU...
GPs receive lots of requests for forms to be completed, or letters to be written as evidence for external services such as schools, benefits system, work etc. the NHS does not pay practices for this work, so it's classed as non-NHS or private work, meaning practices don't get any reimbursement for this work at all.
Some letters may take 5 minutes, the vast majority take much longer. The time it takes to look through the notes & gather the evidence, complete the form/write the letter then send it on is typically more like 10-15 minutes, and with multiple requests, this means a significant amount of a GPs time is taken up doing this. As there is such a huge demand for NHS work (more appointments needed than can be provided), GPs are having to prioritise NHS work, meaning most of the forms have to be done outside of normal working hours or clinical time, leading many GPs to work well over their scheduled hours that they are paid for each week.
The NHS pay for NHS services, like appointments, and if GPs are doing forms, they aren't doing NHS services & hence not recieving any payment. Now do you expect these GPs to work for free, out of their own goodwill, to deliver these forms? Of course the GPs are going to charge for them, as this is private non-NHS work, meaning the patient has to pay for the service provided by the GP in place of the NHS (as they don't fund this), or else the GP is working for free and we can all agree that if they did this, they would be working many hours weekly for no pay, which is not how the world works.
It really grinds on me that as a society we have become so expectant of healthcare that is free at the point of use, that we forget that the NHS is struggling & not all healthcare services are fully or even partially funded anymore, and when we are asked to pay for a private medical service provided by hard working GPs in or outside of their working hours, we get tantrums & moans, yet you would not get the same if you were asked to pay for another service that isn't healthcare related. GPs and all other healthcare professionals should not be expected to work for free, and so it is absolutely correct that they charge for these forms/letters.
if you have an issue with paying for a non-NHS letter from your GP, take it up with the person requesting it, as I can guarantee the GP would much rather not write the letter (they have work coming at them left right and centre and could do without the additional non-NHS work that most of them have to do in their own time outside of normal working hours) as much as you would prefer not to pay for it. Sometimes services ask for these letters (which can cost a lot) when it's not necessary and all that is needed is evidence from the family or school. If it is definetly required, then rightfully you will have to pay to ensure your child gets the help they need.
Hope that makes sense.