This is a common issue, as span is only a length. It does not change the position of the object. In order to get correct geometry, you will need to use script in "model" (or structure group if you wish) to set the location/span of the objects. For example, suppose your structure is layered from layer1, layer2 to layer3, bottom up, and layer 1 begins from z0, then you can set
setnamed("layer1","z max",z0+span1); #where span1 is the thickness of layer1
setnamed("layer2","z max",z0+span1+span2); #where span2 is the thickness of layer2
similarly for layer 3.
Then you should sweep span1,span2 and span3 as variables, not directly sweep object span, as they do not change the location of the objects as mentioned before.
Please refer this example: https://optics.ansys.com/hc/en-us/articles/360034922873-Parameter-sweep-utility