I take a different position to the other answers (so far). You stated:
[I] asked if it can just be 30 days notice so that I can start my new
job in early Jan.
My CEO said that's fine and has basically said for HR to terminate my
contract in mid-december
Taken as written, it appears that events happened in this order:
- You offered to terminate in 30 days instead of in 60 days.
- The company (acting with the authority of the CEO) accepted your offer.
- The CEO then instructed HR to to terminate in less than 30 days.
In England & Wales (and likely most other E&W-based jurisdictions such as Scotland, NI, etc.), a contract is formed any time there are three elements: consideration, intention, and agreement.
Consideration means each party receives something of value or gives up something detrimental. Here, you gave up 30 out of 60 days pay and received the right not to work for 30 out of 60 days. Conversely, the employer gave up the right to have your work for 30 days but received the right not to pay you for 30 days. Consideration is met.
Intention means that both parties intended for the agreement to be legally binding. There is a rebuttable presumption in commercial contexts that agreements are intended to be legally binding.
Finally, agreement means that one party made a clear offer and the other accepted it. In this case, that happened when your employer said yes to your request to terminate in 30 days. A common misconception is that agreements must be in writing and/or signed; that is not true for the vast majority of contracts (exceptions include contracts for the sale of land and some others). A written document or signature is simply evidence of the agreement but is not required - the agreement itself can be verbal or even based on non-verbal conduct.
A contract is formed the instant that an offer is accepted. Once formed, the employer cannot say "actually, I've changed my mind, we can do a 15 day notice period instead".
If, on the other hand, events did not transpire as stated, then the situation could be different. For example, if steps 2 and 3 above were merged into one (e.g. the CEO said "30 days should be fine, but I'll check with HR first") then there is no contract because your offer wasn't accepted unconditionally.