Put an array into bins
APL (Dyalog), 19 bytes



{+/⍺(⌈⍺÷⍨≢⍵)⍴⍵,⍺⍴0}


Try it online!

We append b zeros to the array before reshaping it into equal parts of ⌈⍺÷⍨≢⍵ (⌈ length of L ÷ b ⌉) and summing them, as depicted in ,⍺⍴0, since any amount of blank spots (which are not part of the original array) larger than b - 1 would be filled with at least b - 1 elements from other chunks, which makes the balancing point of the last group at maximum b - 1 difference from the rest. We use b > b - 1 because it is code golf.

For example, L with 15 elements and b = 3 wouldn't be grouped as 

x x x x x x
x x x x x x
x x x 0 0 0


but rather as (note how the rightmost 2 xs "fills in" the leftmost zeros) 

x x x x x
x x x x x
x x x x x


while a 16 elements array would be filled with 2 (3 - 1) blank spots, like

x x x x x x
x x x x x x
x x x x 0 0