So in other words Marines do often come from at least lower-middle-class backgrounds. Which perfectly explains their relative hardheadedness on this issue versus branches which recruit from higher socioeconomic classes like, say, the Air Force. That explains it, then. Their conservatism on this issue is a natural extension of the basic conservatism of the low classes.
You seem to be claiming that the richer you are, the more likely you are to be a social liberal. So tell me then, why did 63% of those voters who earned $200,000 or more vote for George W. Bush in 2004?