error preg_match Modificador desconocido ‘{‘

¿Qué pasa con esto?

if((preg_match('[a-zA-Z]{1,7}+',$_POST['naam'])) and (preg_match('[^\@\#\\&\*\/]+[a-zA-Z0-9]+!',$_POST['password']))) 

la primera expresión regular quiero una cadena de 1-7 de largo que contenga solo letras alfabéticas.

La segunda expresión regular quiero una cadena que contenga letras y números con una! al final.

Te falta un delimitador alrededor de tus expresiones regulares:

 if((preg_match('/[a-zA-Z]{1,7}+/',$_POST['naam'])) and (preg_match('/[^\@\#\<\>\&\*\/]+[a-zA-Z0-9]+!/',$_POST['password']))) 

{1,7} – esto significa de 1 a 7

{1,7}+ – Esto es incómodo, ya que + denota que el carácter anterior debe ser al menos una vez. usualmente usado como [az]+ <- requiere az

{1,7}+ está mal.