I think it's because the wall() action makes the Walls_ent entity to the particular wall that's running the script. Well each time a new wall is set to be Walls_ent, it replaces the previous Wall_ent. It's like a variable, it can only be wall_1, wall_2, wall_3, wall_4 or wall_5, not all of them at the same time.
As a solution, try putting all your walls into one single mesh, and in WED set the POLYGON flag on it and give it the wall() action. Remember the Walls_ent can only be a single entity at any given time, so the wall() action should be set on only one entity.