I'm reconsidering this. It works, now (element-aligned monsters now have their monster name colored appropriately, for example) since the random attribute array has the internal names, not the user-visible ones - which means that if KoL adds an attribute we don't recognize yet, it will still be stored - but since the array is visible to scripts via last_monster().random_attributes, perhaps scripts would rather see "solid gold" rather than "sparkling"?
You bring up a good point. Perhaps this question should be asked in Scripting Discussion, so script writers can chime in.
The name I'm more likely use in conversation is the user-visible one, since the only way to find the internal name is by looking at the source code.
Any other thoughts?