I don't think they mean the same thing.
To keep someone off drugs means to prevent them from using drugs. To keep someone away from drugs means to ensure that drugs are not in the same location as they are. I would never say "I want to keep my innocent little daughter off drugs". I would likely say "I want to keep my innocent little daughter away from drugs".
In practical terms, if I said "I want to keep Bob off drugs", the implication would be that I felt there was a real risk of Bob using drugs. The most likely case would be if Bob had used drugs in the past.
If I said, "I want to keep Billy away from drugs", Billy might be a child or someone who is vulnerable or innocent.
I might say that "I want to keep Bob away from drugs" (if he was a former user).. but this seems less strong to me.