Before getting an attorney, review your contract. If they fail to complete the purchase altogether, the earnest money may be the maximum "liquidated damages" you may be entitled to.
Before accepting another extension for any reason, request something in exchange from the buyer. You get what you negotiate for. Just remember your alternative may be to go back on the market. If things have improved, it may make sense move on. If not, then it could be worth hanging tough with this buyer. It's up to you.