Run a script before shutdown
I think I would approach this differently to what you're doing, but then again my suggestion is a bit of a workaround compared to what you want.

My approach would be to have your script set up so that it triggers the shutdown as part of its code. In other words, instead of having the Shutdown trigger the script, have the script trigger the shutdown. 

The advantage of this is that you can use this as your usual shutdown option if you want, but if you ever need to shutdown without also running your script you can (e.g. if you're having to shutdown multiple times for troubleshooting purposes, or if an installation automatically shuts down your Mac, etc).

If this is an acceptable option for you, then the Applescript code you need is as follows:

tell application "Finder" to shut down


In other words, you effectively need to add the above code to whatever your script is. 

Once your script works as you want, I would then create an Automator Service that runs it. This isn't mandatory, but it does mean you'll be able to run your script from the Application menu of any application. And, it also means you can create a keyboard shortcut to trigger it.

If either or both of these options interest you, proceed below.

1. Create a service using Automator


Launch Automator (usually found within your Applications folder)
Go to File > New
Select Service and click Choose
In the top right hand of the window that appears, ensure that "No input" is selected from the Service receives drop-down list
Ensure the In drop-down list is showing "Any application"
In the second column containing the long list, find "Run AppleScript" and double-click on it
This will add the Run AppleScript window on the right
Now, replace the (* Your script goes here *) with your script 
Save the service using a meaningful name (e.g. ShutMeDown).


Now you should be able to run the service (and therefore your script) from any application by going to the Services list within any Application menu (e.g. Finder > Services, Safari > Services, TextEdit > Services, etc) and select the service you just created. 

If you'd also like to set a keyboard shortcut to trigger things, proceed below.

2. Creating a keyboard shortcut


Go to System Preferences > Keyboard > Shortcuts
Select Services from the sidebar
Find your service (it'll be in the list on the right-hand side)
Add a shortcut by double clicking on the service name
Now go to System Preferences > Security &amp; Privacy > Privacy
Select Accessibility in the sidebar
Click on the + sign (you may need to unlock the padlock if it's locked)
Add Automator.
Add Finder (to find this you will need to navigate to /System/Library/CoreServices/Finder.app).
Exit your System Preferences.


Now you should be able to use the keyboard shortcut to run the service (and therefore your script).

NOTE: I am aware that for some users keyboard shortcuts do not seem to work even though they've been assigned to a service. This is a whole other topic, but if this happens in your case, at least you can run the service from within any application you're using.

If you decide to give this approach a go, feel free to comment me if you have any questions/problems.