Натолкнуться expresses idea of "unidirectional" strike, and столкнуться expresses idea of "bidirectional", mutual strike.
Also, натолкнуться seems to be a more "unexpected" action than столкнуться...