How will Pulumi fix the issues you mentioned?
Ever had CloudFormation yell at you because some function like "Sub!" only accepts alphanumeric characters? Created complicated constructs because there are no variables, and very limited conditionals? Copy-pasted templates like an insane person because there is no way to abstract anything?
Not my idea of fun. All of this is solved by using a proper programming language.