Keyboard Maestro has a database of variables. There is no specific way to delete a variable, so setting the variable to the empty string removes it from the database. The alternative would be that there had to be some manual way to do this which is undesirable.
Internally, if you reference a variable that does not exist, it is considered an empty variable.
Keyboard Maestro also shows you all the variables in the database and all the variables you reference in any macro. Otherwise after creating a macro, the variable would not be shown to let you set its value.
People wanted a way to explicitly remove variables from the list. I have no idea why, but they did, hence the ability to explicitly set the variable to “%Delete%”.
AppleScript’s exposure to variables only includes variables in the database. Hence, variables that don't exist in the database result in exceptions.
Could it be different, sure. But each decision stems from other decisions and has other consequences.