I found out what is happening here, in case someone else runs into the issue. There's no solution yet. The problem is not that the CCT isn't running the commands, but rather that it is inserting a large amount of unnecessary spaces in the output. This is what the output should look like:
Enter new password: <new_password> Re-enter new password: <new_password>
And here's what the config change template actually sends:
Enter new password: <new_password> Re-enter new password: <new_password>
I've got an open ticket with Support, so let's see what they say.