Dates and times in formula fields are GMT time, unless you specify otherwise.
SET_TIMEZONE() by itself does not work unless you nest it inside DATETIME_FORMAT(), MONTH(), YEAR(), etc.
Instead, use NOW() by itself and set the format options for the formula to specify the “local time”. Not that the time is still likely to be off because NOW() does not update continuously. At best, it updates every 5 minutes or so, but it can also be several hours off.