You are going to need either CSS or use one GridLayout. The two form layouts don’t have any knowledge of eachother, so there is no way to align them programmatically. If you use a single gridlayout instead, everything is in the same layout, and the grid will align everything (you’ll need to create separate labels for your captions to put them in separate cells).
Using formlayouts and CSS, you’ll need to add a class name to your layouts, and override the CSS in your custom theme. You will most likely need to define the same width for both layouts, and separate cells, along with some alignment and paddings. The FormLayout is a Table under the hood, which should make changes relatively easy.