You cannot make other people have passion. It sounds as if your team and you are opposites and that is not going to change. You need to:
- accept that and work with them as they are,
- fire them and hire people who are more acceptable to you,
- or move on to somewhere that has people with more passion.
Now if they had passion and it is now gone, then there is likely a cause. If you are their manager, it is very possible that cause is you and how you treat them. Or it could be the cultural message the organization sends them that they are unimportant cogs that are as easily replaced as the furniture and are thus focused on looking for a new job, not on this one.
Or it could be that they are having life problems (sick child, dying spouse, divorce, etc.) and work is not their current first priority. People only have so much energy to spend, if it is being directed elsewhere, training is not high on their list of things to do right now. As you go through life there are times when you are passionate and times when that just takes too much energy. If you have never dealt with a serious life problem, you may not understand how draining it is to daily watch your spouse get worse knowing he is going to die soon. Sometimes these situations go on for years unresolved. But because you have a sick child or are going through a bitter divorce, should you lose your job too? When your performance is acceptable and all that is lacking is a desire to better your skills? There are times when promotion and advancement are very much the last thing you need or want at work.
Personally I would hate a manager who thought I had to spend my time training outside of work. People have families that need care and time, they should NEVER be expected to put in time outside of work. If you want to and have the LUXURY of time then fine. And yes that is liekly to make the person one of the better choices for promotion. But to expect it is unreasonable and indicates to me that you are not management material.
If they are not doing self-directed training during work hours, that is something different. But have you bothered to ask them why they are not? Are the time pressures to get the current work such that they do not have time or energy for this? Is the training as useless as much self-directed training is? Maybe they would do better in a classroom environment.
People have different styles of learning. Have you consulted them on the type of training they learn best from? Have you asked them what they want to learn about or need to learn? Have you talked to them at all as if they are people who have their own ideas, needs and values? It sounds to me as if you have assumed everyone should be like you and that you automatically disrespect anyone who is not.
And how pertinent is this training? Training on a subject I will be using right away is far more interesting to me than stuff I will hear and forget because I have no reason to use it. So maybe instead of complaining about their lack of passion, you should set up a training course the week before a project using those techniques kicks off. And make sure it is clear in the training exactly how they will be expected to use this during the upcoming project.
Next not everyone is interested in getting to the next level. It is ok to be comfortable where you are. Less than 1% will make it to the top. Should we consider everyone else to be a throw-away? If their performance in their current job is good, then leave them alone unless the training is needed for something they will be doing.
This idea that everyone should have passion and be motivated to learn all sorts of new things just because is wrong-headed and bad ultimately for our industry. It is elitist and short-sighted. In the real world, I have often seen it result is poor software choices because the passion to learn turns into the passion to try every new tool that comes along in a hodge-podge mess of junk. It turns into trying new things becausue they are new and not using perfectly good things becasue they are old and boring. Everyone is not in the top 1% and everyone never will be. And all tasks do not require someone in the top 1%. In fact very few workplaces actually need this type of person. SO not everyone needs to have the passion of a top 1% person. And not every passionate person is passionate in the right direction or has the ability harness their passion effectively.
Training should be focused on what they need for work. Passion is a nice to have but, by far, not a requirement. I would rather have solid devs who know their stuff and produce the product than 1 overly passionate person who is always chasing after the next best thing. (This kind of person can wreak havoc on a code base in his chase for new and exicting tools to use.)
Another thing you need to consider is cultural. If your devs come from a different culture than you do, they may be less willing to do things on their own because that is not what is rewarded in their culture. In working with people from many different cultures, I have found that there are many assumptions we make because of our culture that are not true for people in other cultures.