This happens because of how FLANSession::Tick will handle receiving multiple response packets from a single host. FLANSession will cache the ResponseGuids of any incoming host response packets, so it only actually calls FOnlineSessionNull::OnValidResponsePacketReceived on the first valid packet received from a host, with subsequent packets with the same ResponseGuid being ignored.
Since the search process will result in multiple query/response packets being sent back and forth between instances, this handling does make sense to prevent duplicate search result entries for a single session on a host. However, in the case where a single host has multiple sessions, this handling prevents the instance from finding any of those sessions other than the first.