The regex engine starts at the start of the string, and tries to match the first alternative, here
Remediation Report\n\n(.+?)\n. It doesn't match, so it tries the second alternative,
^(.+?)\n. That one matches, so it captures the first line in
$1.
Without the alternation, the regex engine moves its starting position until it finds the substring Remediation Report.
(Actually it's much smarter than that; it searches for the constant substring with the same techniques that index uses, but from a users point of view that only matters when it comes to speed, not in terms of functionality).