MultiPolygon доступен, так что вы можете сделать цикл по многоугольникам внутри multipolygon.
polygons = [Polygon(cham_geom), Polygon(neighbor_geom)]
boundary = cascaded_union(polygons) # results in multipolygon sometimes
if boundary.geom_type == 'MultiPolygon':
# extract polygons out of multipolygon
list = []
for polygon in boundary:
list.append(polygon)