Q:

loop prints a error message multiple times

edited for clarity.  When a loop prints an error message multiple times, it is usually caused by poor control flow. In this case, adding a Breakafter print solved the problem. 
Following a simple loop structure with some control flow, is generally a good starting point. 
for ...:
    if ...:
        print ...
        break

input_seq = "";

#raw_input() reads every input as a string
input_seq = raw_input("\nPlease input the last 12 nucleotide of the target sequence 
before the PAM site.\n\(The PAM site is by default \"NGG\"\):\n12 nt = ")

#print "raw_input =", input_seq
for bases in input_seq:
   if not (bases in "ACTGactg"):
       print "\nYour input is wrong.  Only A.T.C.G.a.t.c.g are allowed for 
       the input!\n\n";
       break

A:

Use break. I am using regular expressions to avoid using a for loop.
input_seq = ""
import re

while True:

  #raw_input() reads every input as a string
  input_seq = raw_input("\nPlease input the last 12 nucleotide of the target sequence 
   before the PAM site.\n\(The PAM site is by default \"NGG\"\):\n12 nt = ")

  #print "raw_input =", input_seq
  if len(input_seq)==12:
    match=re.match(r'[ATCGatcg]{12}',input_seq)
    if match:
      break
    else:
      print "\nYour input is wrong.  Only A.T.C.G.a.t.c.g are allowed for the input!\n\n"
      continue
  else:
    print "\nYour input should be of 12 character"

