Answer
Declare the variable using Oracle's alternative quoting mechanism instead of plain single quotes — for example VARCHAR2(32000) := q'[&NEW:DESCRIPTION]'; — rather than := '&NEW:DESCRIPTION';. The q'[...]' syntax treats everything between the brackets as a literal string, so an embedded single quote in the substituted value no longer breaks out of the string and causes a syntax error.