I have used following code to add users and groups to a list item of type SpFieldUserValue. it works if there is one single user or group in my client side people picker but if there is more than one Entity in the people picker then it says "the user does not exist or is not unique"
var users = peoplePicker.GetAllUserInfo();
for (var i = 0; i < users.length; i++) {
userName = user["Description"];
myArray.push(SP.FieldUserValue.fromUser(userName));
}
in another method:
requestedSiteItem.set_item('Owner', myArray);