Short answer because you can implement all fundamental logic operations (AND, OR, NOT) with using NAND and or NOR gates.
NOT a = a NAND a
= a NOR a
a AND b = NOT (a NAND b) = (a NAND b ) NAND (a NAND b)
= NOT(a) NOR NOT(b) = (a NOR a) NOR (b NOR b)
a OR b = NOT(a) NAND NOT(b) = (a NAND a) NAND (b NAND b)
= NOT(a) NOR NOT(b) = (a NOR b) NOR (a NOR b)