Both your if statements get processed, and thats why you get the double result. Instead use:

Code:
on *:text:*:?: {
  if ($1 == !login) {
    if (($2- == %admincode1) && ($nick == %admin1)) {
      msg $nick .: Admin nickname: %admin1 . :.
      msg $nick .: Log in status: Logged in. :.
      msg $nick .: Log in code: %admincode1 :.
    }
    elseif (($2- == %admincode2) && ($nick == %admin2)) {
      msg $nick .: Admin nickname: %admin2 . :.
      msg $nick .: Log in status: Logged in. :.
      msg $nick .: Log in code: %admincode2 :.
    }
    else {
      msg $nick .: Your nickname: $nick $+ . :.
      msg $nick .: You're a admin?: No :.
      msg $nick .: You're not permitted to use this command :.
    }
  }
}