An explanation in 3 parts
Final Edit: It turns out there was contamination in the data which you can read about in the comments, without being able to see it myself I could not know this. If you see this in an experiment and you're clustering from totally raw unfiltered data this maybe the case for you. Nevertheless as you subcluster within cell types of particular interest to get more refined marker genes the advice I provide below may be of use.
EDIT: The note above about looking at the violin plots may be useful, but again what your downstream analysis or experiment should impact your decision making.
TLDR: The presence of marker genes in other cell types is not surprising nor necessarily a problem. A marker gene that seurat finds are highly expressed in a cell type relative to the average in all cells not a gene that is uniquely expressed, if you are looking for uniquely expressed genes you will probably not find them.
1) A note on seurat
So most genes are expressed in most cells there is nothing wrong with your data or your analysis. Gene expression is very messy and the term "marker gene" is a bit of a misnomer. Note that other analysis pipelines like Monocle have different methods for determining what constitutes a marker gene.
Please consider this meta-analysis of gabanergic cerebral cortex neurons (i.e. inhibitory cortical neurons, interneurons etc etc).
The fact is that most cell populations express a gradient of genes and that each gene likely has multiple roles in each cell. If your goal is to simply publish on expressed marker genes taking the top highest uniquely expressed genes which achieve significance in each cluster will be sufficient, just be sure to report ALL your settings and provide the meta data when you publish. If you are going on to do MERFISH or stain with the results you may want to be more selective.
FindaAllMarkers() uses a simple DEG analysis where it takes the average expression of each feature (the genes you selected, which I hope you did because it's not wroth looking at every gene for clustering just the top most variable) in the cluster against the average expression for these genes in all other clusters. Note that this means you are doing A TON of statistical tests so they use the bonferroni correction which would normally be considered to conservative but in this case is probably still too lenient. You should only be reporting on the very top 5 maybe 10 expressed genes. If your lucky one of these will be noticeably more prominent than the others.
2) Alternatives to seurat
Monocle package has a different definition which arguably is better: http://cole-trapnell-lab.github.io/monocle-release/docs/#classifying-and-counting-cells though this package is less widely used. The monocle score accounts for how widely expressed across all clusters a marker is and the more unique to a cluster a gene is the greater its score in addition to its actual expression strength.
There is also a package called pandora, but I know next to nothing about it. Read up on them and decide which has features you like best.
Lastly I think part of your problem is just wanting biology to be a cleaner science than it is. The reality is that things we call cell types are simply transient states a population of cells passes through during development and various environmental perturbations, the reality is each cell is a dynamic system and you are sampling a portion of these graded changes. Some states are more stable than others and we have taken to calling these cell types but remember you can always subcluster within a cluster and pull out more clusters which can themselves be subclustered and so on and so forth. It calls into question the definition of a cell type even more and to be honest at this point finding cell types is somewhat of an art, the science is yet to be settled.
I encourage you to do more reading on gene expression within single cells and the definition of a cell type (or if such a thing even exists). Here is some reading to get you started.
Cembrowski, Mark S., and Vilas Menon. "Continuous variation within cell types of the nervous system." Trends in Neurosciences 41, no. 6 (2018): 337-348.
Muñoz-Manchado, A. B., Gonzales, C. B., Zeisel, A., Munguba, H., Bekkouche, B., Skene, N. G., ... & Hjerling-Leffler, J. (2018). Diversity of interneurons in the dorsal striatum revealed by single-cell RNA sequencing and PatchSeq. Cell reports, 24(8), 2179-2190.
If you really want to lean into this you should start digging into the concept of meta-cells, there is a package called Metacell2 which may be of use, be sure to read the documentation and methods section for Metacell (the first version) as Metacell2 won't make much sense without it:
Harris, Benjamin D., Megan Crow, Stephan Fischer, and Jesse Gillis. "Single-cell co-expression analysis reveals that transcriptional modules are shared across cell types in the brain." Cell Systems 12, no. 7 (2021): 748-756.
-this is not metacell but is a meta analysis of cell markers using metacells with some pretty surprising and counter intuitive results about marker genes
Baran, Y., Bercovich, A., Sebe-Pedros, A., Lubling, Y., Giladi, A., Chomsky, E., ... & Tanay, A. (2019). MetaCell: analysis of single-cell RNA-seq data using K-nn graph partitions. Genome biology, 20(1), 1-19.
Ensure you read all documentation carefully and understand the stats they are using. The methods use are a specific definition. Also a real marker gene will be robust to multiple methods of identifying them, if they disappear based on a change in normalization or in other packages you may have your answer there. Bear in mind if you publish your results should be reproducible and people will need to know exactly how you got your results so share your code and metadata please.
3) What do you want to get from this analysis?
As I mentioned earlier if your goal is to get published, simply finding some markers in seurat may suffice. If your goal is to do further experiments based on these results consider your hypothesis carefully.
If you want more certainty pull some similar kidney scRNA seq data from GEO and compare your results to their or integrate your data with theirs seurat has a tutorial you can follow along with to do this https://satijalab.org/seurat/articles/integration_introduction.html#performing-integration-on-datasets-normalized-with-sctransform-1 Note you can also use this pipeline to do batch correction, that may help you.
The sct transform give pretty good results.
Sorry nature isn't like a biology textbook =(, I'm not saying that to be facetious, I just want to remind you that living things are very complex. Lean into that complexity and make some interesting discoveries or just accept it and dig out some results you can publish. Talk with your supervisor and explain the issue. Hope this helps!
4) I lied sorry this is a response in 4 parts, make sure you report exactly what you did and share your metadata and pipeline
Did I mention your results should be reproducible? How can one do this? Here are some tips. Make sure your keeping your analysis on github, so you can keep track of all the changes it goes through and revert to previous versions if you change things. Keep all your code, its worth having a file that is full of old code you threw away cause it was messy or you didn't end up using it. Not broken code but stuff you don't think is useful. Report your final results, share your data and make sure a monkey could follow you instructions to reproduce your results as well as being able to double check they get the same thing. Use a conda environment to ensure software updates will not destroy your code for future lab members or people who read your future paper. Save all file paths as variables at the top of your code in your scripts so people can easily change the file structure without having to go through your code and struggle finding which read.csv() functions they need to edit.