In a way, you're not speaking the same language. Try assuming your clients have no concept of not just programming, but any of the process of building an application or solution to a problem that uses technology. Don't discuss details. They are probably paying you so that they don't have to worry about the details.
By way of example: I have the reverse problem with my wife. She is a nurse. When telling me about her day, she used to fly through a great deal of technical details using an amazing number of acronyms and abbreviations that I found not just unintuitive, but completely incomprehensible. I genuinely care about how her day was, but I found myself exclaiming in exasperation, "I have a clue what any of that means!" She now explains only what is necessary to get the point across, and defines acronyms as she goes along, if necessary. That works, but, in your situation, I'd abstract my communication at least one more level than that.