In that case try the following. Using 'Select' and 'Activate' the way that you are will only serve to tie you in knots

Sub findnext()
Dim found As Range, dest_rng As Range
Dim first_found_addr As String

With ActiveSheet
    On Error Resume Next
    Set found = .Cells.Find(What:="ASK Training Managers", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
            :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
            False, SearchFormat:=False)
    On Error GoTo 0
            
    ' Make sure that something was found
    If found Is Nothing Then Exit Sub
    
    first_found_addr = found.Address
    
    ' Loop until we either come back to the first cell we found, or for some reason we can't find anything
    Do
        ' Copy from an offset of (-5,2) to "AD20" list
        If .Range("AD20") = "" Then ' If AD20 is blank then put the result there, otherwise add to the list
            Set dest_rng = Range("AD20")
        ElseIf .Range("AD21") = "" Then
            Set dest_rng = Range("AD21")
        Else
            Set dest_rng = .Range("AD20").End(xlDown).Offset(1)
        End If
        found.Offset(-5, 2).Copy Destination:=dest_rng
        ' Find the next occurance and set 'found' to be that cell
        Set found = .Cells.findnext(found)
    Loop While found.Address <> first_found_addr
End With
End Sub