With MATE, you can create new panels and drag them to the second monitor (to enable drag, uncheck "Expand" in the properties, also uncheck "Autohide and "Show hide buttons"). Then, if you add a "Window List" on each display, it will manage each display's windows separately. This is very nice except that the Workspace Switcher still operates on both monitors at once -- hampering the ability to treat the two monitors as independent desktops. Although, it seems that you can workaround this by selectively applying "Always on Visible Workspace".
A setup that I have been using until recently is to enable the proprietary NVIDIA driver which allows you to select each display as a separate X screen -- each with its own panel and Workspace Switcher. There are some limitations of this approach, notably that you can't drag windows between displays, as I mentioned in this other post. This approach worked for me in GNOME2 -- I haven't tested it with the newer desktop environments.
To summarize:
- Cinnamon: drag:yes, separate-workspace:yes, separate-panel:no, workspace-columns:no
- MATE: drag:yes, separate-workspace:partial, separate-panel:yes, workspace-columns:yes
- NVIDIA: drag:no, separate-workspace:yes, separate-panel:yes, workspace-columns:via MATE