It seems like this works as expected -- thanks to @mkrieger1:
syllable = pp.Group(C + V + pp.Opt(C + pp.FollowedBy(C)) + pp.Opt(C + pp.FollowedBy(pp.WordEnd())))
Works for gaba, banana, bar, ba:
gaba -> [['g', 'a'], ['b', 'a']]
banana -> [['b', 'a'], ['n', 'a'], ['n', 'a']]
bar -> [['b', 'a', 'r']]
ba -> [['b', 'a']]