The first two alignments are equivalent in terms of score, but the third one isn't because the gap is opened twice.
Alignment programs are geared towards finding an optimal alignment rather than finding all alignments. It really is wasteful to output all the possible sub-optimal alignments. It may not seem so for your toy example, but for 500 sequences of average length 300 and with some repeats in them, this would be a huge output of suboptimal alignments. It is difficult enough (and sometimes slow enough) to output the best alignment only, let alone to do so for thousands of suboptimal results.