It seems there may be values in the records that are not in your list. That is good information to offer up earlier in the thread since it will change the structure of the code.
Using my original code suggestion, I believe the following will work for you:
import arcpy
fc = r'G:\pworks\assetmanagement\Local Gov Info Model\Wastewater\Inputs\Valve_Schema.gdb\SControlValve'
LifeCycleStatus1 = ["ABN", "ACT","AB","CHGORD","DEM","INA","OTH","PRP","RMV","UNK","FV", "FD"]
LifeCycleStatus2 = ["Abandoned","Active","As Built","Change Order","Demolished","Inactive","Other","Proposed","Removed","Unknown","Field Verification Required","Future Development"]
try:
cursor = arcpy.da.UpdateCursor(fc, ["LIFECYCLESTATUS"])
cnt = 0
for row in cursor:
if row[0] in LifeCycleStatus1:
row[0] = LifeCycleStatus2[LifeCycleStatus1.index(row[0])]
cursor.updateRow(row)
else:
cnt += 1
del row
del cursor
print("{} records didn't have Life Cycle Status values in list".format(cnt))
except RuntimeError:
pass