Don't worry about people judging you. They are not the ones who are responsible for the care of the horse. It sounds like you have done all you can, and gone above and beyond to help him. "He is 21 and has lived a great life," some horses have a high tolerance for pain, and if he is a trooper he may not show you. You have to do what is right what ever you choose you have to live with the decision, not the vet and not the trainer.
When my mare was injured I was fortunate I suppose, when I asked my vet what she would do she said she would put her down, so that helped me make my decision. It was not any easier to let her go, but I felt better about it.