This is expected behavior since you removed edit items role from your custom permission level. Since you have metadata attached to your library, when uploading, it will redirect the user to the EditForm.aspx page so the user can supply the necessary metadata fields. Since you removed this role, you get the error screen.
Some ways to resolve this:
Give the users back edit items role. Using the advanced settings of the library, enable the management of content types and mark your field you don't want them to change to hidden. This will remove it from forms.
If that isn't suitable, create a folder structure where users can upload documents to. Using the column value default values option, set the desired metadata fields on the folders. When a user uploads a file to that folder, it will get the metadata values you defined.