Fundamentally, the reason they aren't lining up is because the space before/after that you have applied to your heading is not a multiple of your leading value. If you would adjust that value, they should line up. That being said, you can also set the vertical alignment of the frames to Justified in the Text Frame Options dialog box but in order for this to work, you'll want to create a single text frame divided into 3 columns (Object > Text Frame Options) then you can set vertical alignment to Justified. Finally, another option would be to use the Align to Baseline Grid command. This works best if you create a style with this option defined and apply it to all of your text.