This was resolved in a post off this forum. Putting the answer here for anyone else that needs it.
"It seems that for whatever reason, it keeps overwriting the changes immediately after they are made (like it is force reloading the asset from the editor). I was able to find a way around this by making a copy of the materials and changing that copy, before reassigning it back into the asset.
This seems to work for me. Note: for some reason I had to also reassign the mateial back into the array or again it would overwrite itself"
selectedAssetsPaths = unreal.EditorUtilityLibrary().get_selected_assets()
for asset in selectedAssetsPaths:
mats = asset.static_materials.copy()
for i, mat in enumerate(mats):
mat.material_slot_name = "New Slot Name!"
mats[i] = mat
asset.static_materials = mats