It really has something to do with two root folders with the second being the iPhoto Library in excluded state. I tried a couple of other possibilities (another folder in excluded state, the iPhoto Library in normal state, etc) and I didn't get the crash. On point 6 however, it's not important that it's the ~/Downloads folder that is being added. I tried another folder and it crashed too.
I updated pyobjc on my dev machine to the repo's tip (eebec14eca41) and it fixed the problem. There have been many changes in pyobjc in between this version and the one that I was using before (namely a big and cool-looking change in the way metadata is handled) so I hope it will not cause new problems, but I'll try it for a while before I update pyobjc on my build machine (and I'll set the ticket as fixed after I've updated the build machine).