What will work in this situation since the parts are inline with each other is to take the points from each part and create a new, single ArcPy array and pass that to the Polyline constructor to create a new single-part polyline.
>>> import arcpy
>>>
>>> install_info = arcpy.GetInstallInfo()
>>> f"{install_info['ProductName']}, {install_info['Version']}"
'ArcGISPro, 2.9.1'
>>>
>>> # illustrative code for combining multi-part polyline to single-part polyline
>>> multi_polyline = arcpy.FromWKT('MULTILINESTRING((0 0, 2 0, 2 1, 4 1),(8 2, 10 2, 12 4))')
>>> multi_polyline.isMultipart
True
>>> multi_polyline.partCount
2
>>>
>>> single_polyline = arcpy.Polyline(
... arcpy.Array([vertex for part in multi_polyline for vertex in part])
... )
>>> single_polyline.isMultipart
False
>>> single_polyline.partCount
1
>>>
>>> # modified OP code to combine multi-part polyline to single-part polyline
with arcpy.da.SearchCursor("mettaled", "SHAPE@") as cur:
for shape, in cur: # notice the comma after shape for tuple unpacking
new_shape = arcpy.Polyline(
arcpy.Array([vertex for part in shape for vertex in part]),
shape.spatialReference
)
cur.updateRow([new_shape])
>>>