It's not about the item whatever it is, it's about your reaction to it. This was something your spouse got you to show you that they love you; they bought something they thought you would want and need because they see you using this item all the time. It doesn't matter that they know you like using old things - for them the thing they got you is an expression of their love for you, and your reaction (lets return it, I don't want it) is like rejecting their love and is insulting.
I don't know how you said it to your spouse but the way you've described it here your reaction sounds like it was entirely factual and emotionless. It may not be what you're saying but how you said it that is the issue. Did you acknowledge how kind and thoughtful the gift was? Did you acknowledge what it means to get a nice gift from your spouse before saying that actually it's not something you'd use?
Instead of seeing it as a tit-for-tat exchange and the same as you gifting t-shirts, you need to understand that this was a personal gift from your spouse. You also need to acknowledge you're difficult to get gifts for because you like old things. You're not the bad guy for wanting to return the item, you're likely the bad guy for how you've gone about it and hurting your spouses feelings in the process. It may be that you're not an emotional person or have difficulty reading other people including your spouse - that's fine but you may need to acknowledge that you've hurt their feelings even if you didn't realise or mean to, and apologise - that may help a lot. It would also be helpful to tell them how your mother-in-laws gift has sentimental value and you didn't want to replace it. It may still be that you end up returning the item - but it's far less important that your relationship with your spouse.