Jenkins downstream pipeline jobs not always triggered as expected
I suspect this job name is the issue:
build job: 'second_job_name'

In a Multibranch pipeline, there are typically folders in the job name.  For instance, if you have a Multibranch project named &quot;my_project&quot;, a repo in that project named &quot;my_repo&quot;, and a branch within that repo that you wish to build, let's say &quot;master&quot;, then your build command would look like:
build job: 'my_project/my_repo/master'

If you only specify up to the project or repo level in your job name, but don't include the branch, instead of running a build for the branch, Jenkins will scan for updates to all branches within that project/repo, and build any new commits which it hasn't yet built.  This results in exactly the symptoms you described:

The only time this setup works as expected, is when there are new commits to all 3 git repos. Then all 3 jobs are triggered sequentially without issues.