If you see the names of the fields instead of their values, I can only guess that you have the second parameter expression inside quotations marks such as:
SET FIELD [table1::fieldname1; "table2::fieldname1"]
But a script step like this that references fields from two different table occurrences, may fail and not set the field to any value at all.
SET FIELD [table1::fieldname1; table2::fieldname1]
will only work if both fields from both tables are accessible at the moment that the step is executed. That will be determined by what record is the current record on the current layout and by the relationships you have defined in your database.
You might be on a layout for table1. If a related record in table 2 exists for the current record, the script step will work. If not, it will fail. (And no error message will pop up to tell you that it failed. You'll only know this by the fact that the value of the first field did not change.)
The same is true if this script step is executed on a layout for Table 2.
Where this frequently trips up "newbies" is when the current record in Table1 is a new record just created by a prior script step. Since it's a new record, all fields--except those with auto-entered values, will be empty and thus the new record frequently does not have ANY links to records in other tables.