Why do you have a separate <<{...} \\ {...} >> for each bar?
(I agree that it might make the input more readable). Otherwise,
you can save some typing by
lower = \relative c
{
\clef bass
\key b \major
\time 6/8
<< { \slurDown \override Rest #'staff-position
> > 3) The lower system has an overlay of the rest and the g. I assume
> Lilypond
> > counts the voices from top to bottom. So I changed the order in the
> second
> > measure. But this gives a too high rest. It should be from third to
> fifths
> > line.
> >
> Try setting the rest manually with some