Let' s start with "Spinster"
"Spinster" refers to a female person, who has already reached the age of marriage and yet not married. I would not use this word because it is pretty insulting. "Old maid" has the same meaning too.
"Bachelor" refers to a male person, and is the male version of "Spinster". I think it is quite a neutral term, and is not as insulting as "Spinter".
As for "single".
"Single" is someone, male or female, who is just simply not married.