You’re limiting the impact purchases have to only companies choosing to adopt more ethical labor practices. This ignores that the scale of the industry matters, and is affected by consumption. If consumers quietly started buying 50% less chocolate, companies would continue to exploit child laborers, but the amount of unethical labor that the industry could bear would be reduced.
You’re claiming to have the materialist position, but you’re ignoring that the commodities embody child labor. The idea of “voting with your wallet” is capitalist bullshit, and market trends will not transmit ethics to ceos. But there is an unbreakable link between the consumption of commodities and the labor used to make them. It doesn’t matter whether the consumers are organized, what their intent is, or if the companies are even aware of what’s happening.
Whatever buying a chocolate bar does or doesn’t say about a person’s morals, you can’t claim that it’s disconnected from the people who produced it. There are plenty of reasons why the relationship is not one to one, but you can’t make a materialist argument that raw cacao has nothing to do with finished chocolate products.