Gris-Gris last a minimum of one hour but otherwise their duration is until your next "normal" rest so if when you try to rest it says you have to wait two hours then it'll last two hours (the spell effect will last its normal duration but the property will expire in two hours) and you'll be able to regain your spells when you rest after that amount of time. This is done to prevent abuse related to free rest areas since you could otherwise have an unlimited amount of Gris-Gris floating around.
The property seems to not be lasting long enough when either of us make a gris-gris. I've recently watched a voodan hand out 3 Ram's Might gris-gris just as a warding cycle began (lasted about two minutes) only to have all 3 gris-gris go inert at the very end of that warding cycle because nobody had tried to use them until then. At the time, he was level 9 and producing CL3 gris-gris, so a shorter lasting time might make sense from a technical standpoint, but it's still incredibly problematic for another reason, which are turn+round spells.
If a voodan wants to give another player something like Divine Power or Favor, the short-lived gris-gris needs to be used immediately upon entering battle. If you want to give more than one gris-gris, you can't give them all at once or one or more will go inert during a dungeon. The only alternative is to hand them out piecemeal, which while inconvenient, also leads us to the problem that if you hand them out too late, you are once again risking the loss of one or two spell slots whenever the group is ready to rest and re-ward.
I also understand the reasoning behind locking spell slots in the first place- that's why Fungal and I are suggesting that gris-gris lose power as soon as the Voodan rests. That way they can get their spell slots back and any possibility of abuse from free-rest areas is prevented. That might require additional scripting that's out of the question, but I think it'd be a massive QOL improvement for the class.