They mean different things. "free" means that people do not have to pay for the training. "non-profit" describes the type of organisation; it means that the operators do not take profit out for themselves (or other investors).
New words, one handy idiom, and a 2-minute quiz — delivered to your inbox to keep your streak alive.