Efficacy is only one metric. Establishing long term antibody count is another. mRNA vaccines need a second boost not to significantly increase efficacy (which is already ~80% after 1st dose), but to have a substantial long term antiviral load. This is particularly important with the variants, where it is such high antiviral load that acts against the virus (it i the reason a third shot is in the work for mRNAs, to increase antiviral loads even higher).
Now, the reason the J&J still needs one is not publicly known, but I would suspect it's not a matter of efficacy, but that first and only shot is also good enough to generate a sufficient amount of antibodies. It's not a matter of mRNA vs viral vaccines either, as AstraZeneca is a viral vaccine and it requires 2 doses.