I typed in your code, and the culprit seems to be the xscreen call. I am thinking it gives each screen two bg layers each unless you specify otherwise. So if you don't need any bglayers on the bottom screen you can do something like the attached. Otherwise you will have to skip out on some layers.