My proposal is to start with field validation - add a checkbox “Allow multiple items”. And only if multiple items are allowed, it should be possible to allow duplicate items and set the min-max limit.
I made a mock-up for a reference field as the single/multiple problem is the same there as it is for assets.
The second part is the form itself - now it looks like this:
I think it would be sufficient to hide the “Click here to link content items” or “Drop files or click” if the field is set to contain a single item only and an item has been already selected:
And it would reapar only if you remove the currently selected item:
Third improvement would be to disable the multi-selection if the field is set to single item only:
And for assets - clicking on another asset after one has been selected would just change the selection to the second asset.