Ming,
I agree that the way you have your input file organized is a bit difficult to read, and (I would argue) pretty unorthodox.
I was a little curious about the difference in the output, but I'm afraid I can't offer a solution, only some observations after looking at it.
In my tinkering, it seemed to be associated with the time signature. In the example below (and attached), I get the same behavior you do, where the second score has the left-hand part continuing past the apparent end of its voice(s). Additionally, there is inconsistency about the beaming of the eighth notes between the two scores. However, if I change the time signature to 4/4 (and change R2. to R1 in the right hand), both scores produce the same output.
Would anyone be able to elaborate if this is expected behavior?
\version "2.19.32"
right = \relative c' {
\time 3/4
R2.*6
}
left = \relative c {
\time 3/4
<< {r4 d8 e r4} \\ {r4 b8 c r4} >>
}
xLeft = \relative c {
\time 3/4
r4 << {d8 e} \\ {b8 c} >> r4
}
\score {
\new PianoStaff <<
\new Staff \right
\new Staff {
\clef bass \left
}
>>
}
\score {
\new PianoStaff <<
\new Staff \right
\new Staff {
\clef bass \xLeft
}
>>
}