Eu faço esse tipo de coisa um pouco (geralmente gerando instruções de inserção/atualização).
Você só precisa usar a função de substituição para ativar todos os
'
em ''
. ou seja, altere para:str_comment:='COMMENT ON COLUMN '||rec.table_name||'.'||rec.column_name
||' IS '''||REPLACE( rec.description,'''','''''')||'''; ' ;