They are a conjunctive particle and they have a similar meaning.
They are interchangeable in many cases, but the nuance is different.
"から" is used in spoken language. It means "because" and it is used when describing the reason/cause of something in a subjective way.
It is often used to emphasize the reason/cause rather than the result in order to make an excuse, or give an order to someone.
It can sound assertive depending on the context.
"ので" is used in both spoken and written language. It means "so" and it is used when describing the reason/cause of something in an objective way. It is often used to emphasize the result rather than the reason/cause in order to ask/request someone to do something.
It sounds considerate of others and sounds more polite than "から".
- Leo: 今朝は、なんで会議を欠席したの?
Why did you skip the meeting this morning? - Ken: 電車が遅れたから、会社に遅れちゃった。
--> He makes an excuse for being late. It indicates that the reason he was late was the train delay, and that it wasn't his fault. - Ken: 電車が遅れたので、会社に遅れちゃった。
--> He just explains the fact why he was late.
- Meg: コーヒーでも飲みに行かない?
Do you want to grab a coffee? - Amy: 忙しいから、今は行けないよ。
--> She emphasizes how busy she is. It indicates that she wants to focus on work and doesn't want to be bothered by others. It can sound a bit offensive depending on how she says it and her facial expression. - Amy: 忙しいので、今は行けないよ。
--> She just explains her situation: she is busy and can't go out.