Your archiving macro has this line:
.Offset(1).EntireRow.Delete
which deletes hidden rows too.
Change your Archiving macro to:
Sub archiving()
Dim rngTodelete As Range
With Sheets("MOU sheet").ListObjects("Table_MOU")
.Range.AutoFilter Field:=15, Criteria1:="<>"
On Error Resume Next
Set rngTodelete = .DataBodyRange.SpecialCells(xlCellTypeVisible)
On Error GoTo 0
If Not rngTodelete Is Nothing Then
.DataBodyRange.Copy Sheets("Archive").Range("A" & Rows.Count).End(xlUp).Offset(1)
.AutoFilter.ShowAllData 'safer than .Range.AutoFilter Field:=15 for subsequent deletion.
rngTodelete.Delete
End If
End With
End Sub