The two are similar, but 영양분 is closer to nutritional content, while 영양소 is nutritional elements.
분(分)'s base meaning is to divide, and it's often used for (divided) content or amount (분량 = quantity, 성분 = constituent amount, 1인분 = quantity for one person).
소(素) means a fundamental element or characteristic, as in 원소 = element, 형태소 = morpheme, 소질 = aptitude.
So 영양분 indicates the content or the part that acts as nutrition; 영양소 is more about the constituent elements or kinds of nutrition.