1. As the others have mentioned, you should not store the same data in two places, especially in the same table. There are better methods.
2. If the field is text, it might contain ZLS rather then null since MS "helpfully" defaults the AllowZLS property to Yes rather than No. I recommend changing this default everytime you create a new text column. If you want code, I have a procedure that will fix all the tables in your database at once BUT, it will NOT fix existing records. You would need to run an update query to remove the ZLS value.
3. Fixing existing rows does not solve the problem. You also need to PREVENT future null values AND you won't be able to do that without changing the AllowZLS from Yes to No.
4. As your error message indicates, you can't update a union query.