There is a single line of code difference between a script that works on High Sierra 10.13.6 and Mojave 10.14.2. I have included both scripts here.
Pre-Mojave
tell application "System Preferences"
launch
reveal anchor "Seeing_Display" of pane id "com.apple.preference.universalaccess"
end tell
tell application "System Events"
tell application process "System Preferences"
set frontmost to true
delay 1
tell window "Accessibility"
click its checkbox "Use grayscale"
end tell
end tell
end tell
tell application "System Preferences" to if it is running then quit
Mojave
tell application "System Preferences"
launch
reveal anchor "Seeing_Display" of pane id "com.apple.preference.universalaccess"
end tell
tell application "System Events"
tell application process "System Preferences"
set frontmost to true
delay 1
tell group 1 of window "Accessibility"
click checkbox "Use grayscale"
end tell
end tell
end tell
tell application "System Preferences" to if it is running then quit
As an Automator Service (QuickAction on Mojave), you would set the Service/Workflow receives to no input, in any application . There will be one workflow action: Run AppleScript, which you drag and drop from Utilities Library (pre-Mojave), Automator Library (Mojave) into the larger workflow window.
Select the line: (* Your script goes here *), and copy/paste the appropriate AppleScript from above into the Run AppleScript action. Click the hammer icon in the Run AppleScript action to compile the AppleScript.
Save the Service, and I would recommend as Gray Scale, and Mojave Gray Scale names respectively based on the machine that you are on. The finished product should look like this (pre-Mojave code example):

The keyboard shortcut can be set in System Preferences : Keyboard : Shortcuts : Services. You scroll down until you encounter the name given to your Service, and on the right-side, where it says "none," you can click once to get a Add Shortcut button, and again to enter a non-conflicting keystroke combination, followed by a return.
Apparently, I cannot update the Jan. 20, 2018 post with a link to this content.