This is a known and documented security restriction to prevent backdoor access to unowned data. Your original question mentioned an issue with assigning a Row Owner column with a role value. There was no mention of assigning a Role column with a role value. Two very different scenarios that I could have clarified very quickly if you had answered the questions in my first reply.
In any case, a role can only be assign via client side actions or workflows if the user setting the role possess the same role during row creation. If a user does not possess the same role themselves, or the row has already been created, then the role can only be set via a server side workflow or directly through the data editor. There are several posts that cover this.