The gobo projector sets the Beam Angle and Spread Angle when it gets reset. Vector Script can only run on session at once, so your code runs, updated the information on the gobo projector, and MARKS it for reset, then you update the attatched light. When your script is finished the Gobo Project actually runs its code and sets the parameters of the light, over your changes.
The only solution is to use 2 seperate scripts, one to change the attributes of the gobo projector, then run the seond to set the attributes of the light.