Either include code that detects the fact that the value has not changed, or use OnObjectSave instead of OnObjectModify.
To detect the change, Use OnObjectEnter on this field with this script:
Set Variable [$$OldValue ; Value: Get ( ScriptParameter ) ]
put a reference to the popup's field in the optional script parameter box. This method successfully captures the value of the field before it is modified even with pop up menus.
Then your script can compare $$OldValue to the current value of the script to see if the value has changed.
The OnOjectSave doesn't appear to work for a poup
The alternative worked perfectly well
OnObjectSave WILL work, but perhaps not has you expected it to. It should trip with each new value entered, but the focus has to leave the popup before it trips.