VBA Macro that finds and replace the column name
Please, try the next way. It will try matching the first array elements on the first row headers and replace the found one with the corresponding string from the second:
Sub ReplaceHeaders()
Dim shT As Worksheet, lastCol As Long, fndList, rplcList, rngHd As Range, mtch, i As Long
Set shT = ActiveWorkbook.Worksheets("Final Exclusion")
lastCol = shT.cells(1, shT.Columns.count).End(xlToLeft).Column
fndList = Array("Enter one or more MSOs or ESOs to be excluded. Separate multiple values using a semicolon.", _
"Select the datasets from which you wish to exclude these MSOs:", _
"Select the reason code for the exclusion:", _
"Submitter's CWSID")
rplcList = Array("MSO", "SOCS", "Reason's", "Submitter")
Set rngHd = shT.Range(shT.cells(1, 1), shT.cells(1, lastCol))
For i = 0 To UBound(fndList)
mtch = Application.match(fndList(i), rngHd, 0)
If Not IsError(mtch) Then
rngHd(1, mtch).Value = rplcList(i)
End If
Next i
End Sub