This is the correct approach.
You let your agents do their stuff (e.g. moving around) in your agent_step! function. Then you also add a model_step! function that iterates over your agents again (e.g. for id in allids(model); calculate_voronoi(model[id]); end) and you should be golden.