Update for anyone that may find this thread in the future and wants the solution.
I don't understand the reasons behind it, but instead of changing the mass of a shape, I removed the shape from the space and added a new shape that looked identical, same position and all, but with the only difference being it had a mass. This looked and worked very well.
Code:
[sm removeShape:[wall_bottom shape]];
cpShape *new_shape = [sm addRectAt:[wall_bottom position] mass:25.0f width:[wall_bottom contentSize].width height:[wall_bottom contentSize].height rotation:0.0f];
wall_bottom.shape = new_shape;