User should have ‘edit_posts’, ‘edit_published_posts’ capabilities in order to edit own posts. ‘edit_others_posts’ is required to edit a post created by other user.
Did you set edit restriction for such user?
If ‘Yes’, such restriction does allow him to edit the posts just from the list which you allowed for him. WordPress internally creates new post and then reopen it for edit. That’s why edit permission error may be shown.