How do I use "propName" in BGE python

Ok so here is a short simple script I wrote that I thought would work for this, but after changing the value of the property the action isn’t following the property.

import bge
cont = bge.logic.getCurrentController()

action = cont.actuators["Action"]

action.propName = "prop"

I am using an always sensor with pulse mode active, a python controller with this script, and an action controller which is set to property mode. How do I make this work? Can I use the same property for multiple objects if I include it all in one script?

Reconfiguration
Your code reconfigures the action actuator. To be more specific it sets the property name to get the frame number from. It does not change any other parameter of the actuator (it does not set an action or so).

There is no need to set this property name more than once. Using True Level Triggering is a waste of processing time.

Changing frame
Every time you changed the property value you need to activate the actuator to play the pose indicated by the property value. How you change the property does not matter as long as you change it before the actuator runs. If you use a property actuator it should be placed above the action actuator (controllers always run before the actuators).

You do not setup a property you setup a property name. The action actuator will always search the properties of the owning object.