After a few months of struggling to find the FBO issue, it ended up being that blending being enabled worked against me: since all of the outputs are vec3's, the SRC_ALPHA was always 0, therefore none of the outputs were written.