Do crown ethers have to have two carbons between the oxygens? If so, why?
To be a crown ether, the compound in question must be an ether, i.e. must contain oxygen atoms which are bonded to two carbon atoms neither of which is bonded to another oxygen atom. Thus, if you had just one carbon between two subsequent oxygens you would no longer be dealing with a crown ether; if you wanted, you could call it a crown acetal. But it would have vastly different properties; most notably it would break down in aquaeous solution under acid catalysis.

To the best of my knowledge, there is no formal restriction other than that given in the first paragraph for crown ethers. 20-crown-5, which would have three $\ce{CH2}$ groups between each ether oxygen, would be a valid crown ether in my humble opinion. However, most cations that are coplexed by oxygen prefer five-membered rings for various reasons, resulting in many complexing agents — $\ce{en, dmg, m2g, phen}$ to name just a few examples — having exactly two other atoms between the ligating atoms. Thus, practically all crown ethers one hears of have two carbons between the oxygens.