Here we go.... it's a bit tricky.
This excerpt is taken directly from
http://www.volunteering.org.uk/volunteer/accepting.htmit reads as follows:
Volunteers from non-EU countriesPeople from outside the European Economic Area are not allowed to take up work, paid or unpaid (which includes volunteering) without a work permit. Given that work permits are only issued where a genuine vacancy exists and where particular qualifications or skills are required that are in short supply from the British and EEA labour force, there is little chance of obtaining a work permit solely to volunteer.
However, the Home Office has allowed a concession to allow people from outside the EEA to volunteer if they meet the following criteria:
the activity is purely voluntary and does not involve taking up a salaried post or permanent position of any kind within the charitable organisation or entering into any arrangement that is likely to constitute a contract of employment; and
the activity is either for a charitable organisation listed in Home Office guidance or a registered charity whose work meets the criteria set out in this instruction; and
the activity is unpaid, or is not likely to be subject to payment of the National Minimum Wage (see note below) and directed towards a worthy cause; and
it is closely related to the aims of the organisation; and
it is fieldwork involving direct assistance to those the charitable organisation has been established to help; and
the passenger intends to leave the United Kingdom at the end of their stay.