Why you set different borders to the same cell? It will remove the previous set colors. Just set the border colors only. Remove all
cell.setBorder(Rectangle.Something);
and have a go.
If You want a particular border type then set it and set the color.But don't reset the border after you set color