What you are effectively generating is a pair of HTML TABLE elements. And, just as in HTML, the
JSF equivalent auto-sizes columns.
I presume that you are using PrimeFaces, and I'm not that familiar with it, but the stock JSF h:dataTable tag has a columnClasses attribute that can be used to list a set of classes that regulate each column. If these classes include a width specification, you can get consistent widths by simply using the same list of columnClasses for both panelGrids.