Oh for heaven's sake 
If you want to buy White Company towels - fair enough.
If he has wrecked them and you think the replacement should come from his spends rather than his - fair enough.
However:
First of all, instead of splashing the cash, just try a bit harder to get the stains out. Fair enough to expect him to do that - although as this is just one of those things that happen in life, I don't it "has" to be him.
Secondly, why the punitive measures just because he doesn't know that some old towel is a 'special towel'? Get over it. Unless he went to a locked cupboard with a big sign on it saying "herein lie the special towels, no golf club wiping allowed" how's he supposed to know?
But finally, and to me really most importantly... WTAF is it with "he ruined my special towel, so therefore I get to spend his money on a present for me?"
Really?
REALLY?
What kind of relationship is that? 
If (and it really is an IF in this case) your husband has done something wrong, then he should apologise and make amends - by cleaning the towel, or getting another one. But I totally fail to see where you getting a present comes in to this.