Go-between paid £21m in taxpayer funds for NHS PPE