Today I cooked curry with silicone utensils and it seems the smell doesn't go no matter how much I scrub it with dish soap. Googling tells me that boiling the utensils or scrubbing it with a paste of baking soda with warm water will remove the smell, but, what exactly is the reason that the smell is not removed even after repeated scrubbing?
Plastics, including silicones, are by no means impenetrable. Small, volatile molecules can diffuse through them – generally not very far, only a few micrometres†, so you seldom notice this phenomenon: even a thin-walled bottle hardly lets anything through.
However, it is far enough that these molecules will then be unreachable by soap, since soap molecules are big and basically not able to diffuse into silicone at all. Water does diffuse into silicone, but there it can't wash away the aroma compounds either.
Over time, the molecules diffuse out by themselves again, and for strongly aromatic ones this causes the notable smell of the utensils.
Baking soda consists of small molecules too (ions, actually). So these can apparently diffuse into the silicone as well, where they may bind to the aromas and thereby neutralize them in a sense. I'm not sure that's really how this trick works, though. A more effective way of getting the smell off is perhaps to just leave the utensils in the oven for a bit, something like ½ hour at 120°C, since heat dramatically speeds up diffusion – i.e. you just force the smells to come out more quickly.
†Technically speaking, diffusion can actually get arbitrarily far, but it gets exponentially slow with increasing distance, so practically speaking it is range-limited unless you have billions of years to wait.