There is no difference. Three quotes from the documentation:
These SQL-standard functions all return values based on the start time
of the current transaction:
transaction_timestamp() is equivalent to
CURRENT_TIMESTAMP, but is
named to clearly reflect what it returns.
now() is a traditional PostgreSQL equivalent to
Bold emphasis mine.
now() do exactly the same.
CURRENT_TIMESTAMP is a syntactical oddity for a function, having no trailing pair of parentheses. That's according to the SQL standard.
If you don't declare a column alias for a function call in an SQL statement (where one is required), the alias defaults to the name of the function. Internally, the standard-SQL
CURRENT_TIMESTAMP is implemented with
now(), and that shows when you look at the default column alias.
transaction_timestamp() does the same, but this one is a proper Postgres function, so the default alias
transaction_timestamp is assigned.