It doesn't look to me as if the code uses any graceful draining of the Kubernetes nodes at present?
It would be good to add this into the node termination procedure so that pods are moved off of the instance before termination on AWS.
I'm thinking about cases when terminating a node would disrupt a PDB, if there's no budget then ideally you wouldn't terminate the node until there is budget