From what I can see, you're not making the pick of a given object instance to assign it the color. Basically in the for loop of each assignment you assign the same color to all blocks each time.
The last color in your JSON is white, so at the end of the loop you will have all your blocks white.
If you add a brakepoint to your loop, and in debug mode, proceed tick by tick manually, you'll see what happens during the loop.
I recommend creating the block and assigning it the color in the same event, or else make the correct block pick when you assign it the color.