... and server is on MDT america/denver timezone
For clarity: The server time is NOT a part of the "State calling times" feature. While the server has a time, that time also has a Time Zone and the GMT time is used by the server to calculate times for local/state calling, without any regard for what time it is wherever the server is located. Translation: As long as the time in the server is CORRECT, the time ZONE on the server is irrelevant.
So when you set a specific state to call from 8AM to 8PM, any leads IN THAT STATE according to the lead's configured Time Zone options (List: Time Zone Setting) will be omitted during non-calling times.
This does require that the system be able to glean the state correctly from available data. Country? Area Code? Zip Code? All the options in the list time zone settings dropdown may be used based on those settings and each lead must have that data AND the nightly GMT script must have run to set that on each lead's record. We just had a DST jump, too, so the GMT script should have run after that moment (it should run nightly to be sure it's always correct).