Most of the issues can be resolved with precise definitions.
Let's start with purity. Purity is relative. In many cases (eg table salt) 99% is pure enough. What this means is that for all practical purposes we don't care about the remaining impurities. Chemists tend to describe something as "pure" when there is less of any contaminant than matters for what they are doing with the chemical. Sometimes purity of very high levels matters. Semiconductors behaviour depends on very precise doping with very small amounts of other substances. The wrong contaminant even at levels of 1 atom per million is a problem. So the industry have worked out good ways of making extremely pure silicon, for example. These techniques have been used to make some of the purest substances ever (the silicon sphere now being used to redefine the Kg is pure to parts per billion atoms.) Strictly speaking it isn't pure in the sense of having absolutely 100% of all its atoms as silicon, but that is as pure as it needs to be for its purpose. So, strictly, nothing is ever absolutely pure, but it doesn't matter.
The word "substance" is a bit vague. In chemistry it could be a compound an not just an element. Purity for a compound means that all the molecules in the substance are the same (to the level of purity that matters). Having more than one type of atom doesn't make it impure as long as all the molecules are the same.
Then there are some homogeneous mixtures that are hard to separate by any simple means, some metal alloys for example. We wouldn't normally describe these as "impure" but chemists might use special terminology to describe them (alloy rather than compound for example).
And as for "Pure substances contain only one kind of matter" it depends what you mean by "matter". Chemists would prefer the term "molecule" to "matter". Matter can be interpreted different ways (does it mean atoms or molecules: it's unclear). "Pure substances contain only one kind of "molecule" would be an unambiguous statement chemists would agree with.