Try this. Edit
/etc/acpi/powerbtn.sh, and the make sure that the lines below are the last lines in it.
# If all else failed, just initiate a plain shutdown.
/sbin/shutdown -h now "Power button pressed"
also look in
/etc/acpi/events/powerbtn, and make sure it matches below, specially the last part.
# This is called when the user presses the power button and calls
# /etc/acpi/powerbtn.sh for further processing.
# Optionally you can specify the placeholder %e. It will pass
# through the whole kernel event message to the program you've
# We need to react on "button power.*" and "button/power.*" because
# of kernel changes.
If you make any changes, make sure you run, before you try to see if it works. You may need to reboot.
sudo service acpid restart