You need to use the namelocal property of the name object.
Try this:
Sub DeleteNames()
Dim myName As Name
For Each myName In ThisWorkbook.Names
If myName.NameLocal <> "Tower" And myName.NameLocal <> "Bird" Then
myName.Delete
End If
Next
End Sub