Setting a different background for each monitor in the multi-monitor setup should be built into the desktop, but… Gnome lacks this feature. If you use Gnome, one way to use different wallpapers for each monitor is to use Water paper application. Update: HydraPapaer now also supports MATE and Budgie desktop environments.
Even if Nautilus is set to draw the desktop, HydraPaper will still work properly (for example in Ubuntu 18.04), so you can use a different wallpaper for each monitor while maintaining the function of the desktop icon (unlike some requirements to disable the desktop Older solutions for icons, for example nitrogen).
To use HydraPaper to set a different background for each monitor, open the application and select a wallpaper for each monitor, and then click the “Apply” button to complete the operation. Please note that you need to select the background of each monitor, otherwise it will be unusable (you cannot leave the monitor wallpaper blank).
The app follows the KISS principle, makes things very simple, and does not provide many features. The only additional features you will find are adding multiple background image locations, the option to use random wallpapers, and the ability to add backgrounds to favorites for easy access.
If your monitor rotates vertically or has a different screen resolution, it’s good to know that HydraPaper also supports this feature, at least according to a closed bug. report (I haven’t tried it myself).
Since Gnome, MATE, and Budgie desktops do not allow setting different wallpapers for each display individually, HydraPaper uses a workaround for this purpose: it combines multiple wallpaper images into one image and sets it to span. Unfortunately, I don’t think there is any other way (or similar alternative) to set a different background for each wallpaper in Gnome. If you know an application that can do this directly without such a solution, please let us know in the comment section below!