Your contract probably does call for a penalty if you do not close on time. But that's if the hold up is your fault (e.g. the lender cannot get it done in time). If the seller causes the delay , your buyer's agent should ask the listing agent to prepare an addendum to the contract extending the closing date. Ask your buyer's agent to process the file without the formal acceptance, so that the title company can go ahead with the title search. Ask your lender to proceed with processing your file and getting the appraisal ordered. Three weeks is not a lot of time, but should be okay if everything gets ordered this week. Your role is to respond to any of your lender's requests in a very timely manner. If they ask for any additional documentation, get the information to them asap. In my experience, delayed closings often are caused by buyer's not getting everything in that the lender needs.
Remember, everyone involved in the transaction wants you to close. They don't get paid until that happens. There is absolutely no reason to believe anyone would want to stall the transaction. If your lender doesn't believe they can get the transaction completed in three weeks, that is a different story. Some lenders who work through out of town mortgage companies can take longer than a local lender. If that is the case, you should let your buyer's agent know and ask them to see if the seller will extend the closing date.