If plain pm-suspend works fine, this means that the lid close event is triggered twice: on close and open. You can verify whether it is true by replacing pm-suspend with logger "Some message" in handler.sh and see if there are two messages in /var/log/messages.
Yes, I get actually exactly this behaviour since the last update. Two messages and sleep is obviously triggered twice (manual pm-suspend works fine)