What you have is basically:
if ( (llDetectedName(i) == "first1 last1") || "first2 last2" ) {
// ok
}
The result of || is true or false depending on the true/false value of its operands, so using parentheses to make it ("first1 last1" || "first2 last2"

wouldn't do what you want either.
What you want is something like:
if ( (llDetectedName(i) == "first1 last1") || (llDetectedName(i) == "first2 last2") ) {
// ok
}
Another, more flexible way to do it, uses
llListFindList:
if ( llListFindList(["first1 last1", "first2 last2"], [llDetectedName(i)]) != -1 ) {
// ok
}
You could then move the list to a variable at the top of your script to make it easier to change, easier to drop into other scripts, and easier to change within the script (for example with a voice command) if you decide you want to do that someday:
list ALLOWED_NAMES = ["first1 last1", "first2 last2"];
// ...
if ( llListFindList(ALLOWED_NAMES, [llDetectedName(i)]) != -1 ) {
// ok
}