In earlier times you were always forced to use DBMS_LOB package. Then in Oracle 10g a feature called "SQL semantics for LOB" was introduced and now you can use the simplified syntax.
In CREATETEMPORARY
you can specify the duration of the LOB in SQL semantic you cannot.
In your case the LOB is freed in the same way, i.e. when you leave the scope (i.e. the PL/SQL block) where the LOB is declared, then it is freed.
When you use FREETEMPORARY
then the temporary segment in tablespace is released, when you call myclob := NULL;
it will be kept.