=LET(n,FILTER(A$2:A$1016,A$2:A$1016<>""),IF(COUNT(SEARCH(" "&n&" ",SUBSTITUTE(" "&J2&" "&K2&" ","-"," "))),"Name List",""))
Remove all the empty cell values from col A and store them in a variable called "n"
Put a space character before & after each name stored in n. This is how we stop "Jo" from being found in "John".
Join the col J & K names with a space between and also add a space before/after each joined pair. Also replace "-" with a space character since you wanted "Smith" to be found in "Char-Smith" - I think? (If that is not the case we can remove that SUBSTITUTE part and shorten the formula)
Now search for each of the col A values (with space before/after) in the red part. For each of those approx. 1000 searches, if found it will return a number, if not it will return an error. COUNT will return how many numbers - that is, how many successful searches. If that number is anything other than 0 then it has found at least one name so returns "Name List" otherwise returns ""
Hope that makes some sense.