Set a custom URL for image in the Media Library?

Sharing my thoughts on multiple issues you mentioned. Hoping one or two of the following would help…

Firstly, you may visit your site’s wp-admin/options-media.php and uncheck the option “Organize my uploads into month- and year-based folders”

Why can it only be attached to ONE post/page?

An image can be attached to any number of posts / pages.

if I try to upload a new image with the same name, rather than replacing the old one, it is simply added, because it has a unique upload date.

If you upload a new image with the same name, the older image with the same name will not be replaced. Instead, WP appends a number in the name of the image. For example, if the name of the image is hello-world.png and if another image with the same name is uploaded, then it’d named as hello-world1.png. So, if you’d like to replace the existing image, you may have to replace it via SFTP or any similar methods. Alternatively, whenever you’d want to replace an image, you may delete the existing image at yoursite.com/wp-admin/upload.php and then upload it (with the same name) at wp-admin/media-new.php . This way the name of the image is preserved while the actual image is changed.

Whatever the method you’d choose, WordPress may still contain the thumbnails of the original image. So, you may wish to use a plugin to regenerate thumbnails.