A diferença aqui é que a classe Groovy Sql trabalha explicitamente com GStrings para garantir que os parâmetros sejam citados corretamente (conforme explicado na documentação ).
Então ele converte o primeiro exemplo para
truncate 'my_table'
O que está errado (como o erro explica)
Você também pode usar:
sql.execute "truncate ${Sql.expand(tableName)}"