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