Bone animation rotation problem
First of you should delete the constraint on every second bone. This will give you a pop up behaviour.


In order to make them not intersect by bending to far, I would simply manually rotate the large bone to the point, where the deformation looks fine.
A real popup book would never be able to fully close. Your model also doesn't have proper volume, so cheating is best, as long as it looks good.

Finally, I would suggest adding a root bone. Assign the bottom card to the root bone, and constrain all bones parallel the floor to the root (which will also be parallel to the floor).

This will ensure not only closing downwards, but also closing upwards (if you want that).

In the following I also constrained the large yellow bone to the root.



This is how I would construct the rig.

Step by step instructions how to create the rig


Set up all the bones as they were, add a root bone, which will be used to rotate and move the whole rig.
Parent the first bone (red) of the step chain to the horizontal large bone (green).
Parent the large green and red bones to the root bone.
Make sure all bones' Z-axis are parallel.
Lock the X and Y rotation on all bones, except the root bone.
Create an additional horizontal bone with the same orientation as the horizontal bones of the steps and parent it to the large green bone. This way we can use less confusing world space copy rotation constraints.
Add a Rotation Constraint from the large red bones to the small red bones.
Add a Rotation Constraint from the small (inverted) green bone, to the small green bones controling the steps.
Hide all small bones.


(Long Gif.)