Who is the core team maintain (have write permission) to kubernetes
repo? "The Linux Foundation" or CNCF?
Cloud Native Computing Foundation (CNCF) is one of the projects hosted by the Linux Foundation. Kubernetes is one of the project graduated from CNCF. Read more over here.
I see that there a multi Kubernetes engines (RKE, EKS..). Do they just
add some add-ons/plugin/tools or they modify the source code of
kubernetes to build another version of k8s components (apiserver,
kube-proxy, kubelet)?
They are really not "multi kubernetes engines", these are just Kubernetes offering from different vendors. Another such example is GKE (Google Kubernetes Engine) by Google. Main advantage you get from GKE/EKS v/s Kubernetes is that GKE/EKS etc. are managed products, so the vendor providing the same will be responsible for cluster management, availibility of Master and Worker nodes etc.
If I use RKE binary to setup my cluster and it shows Kubernetes
version "v1.17.2" that means the version is release of kubernetes repo
or it just another fork repo of rancher team. The question is the same
to GKE, EKS..
At the core you still have got Kubernetes but once you are using managed products like GKE or EKS, better not to mix them with "Kubernetes" and start thinking of them as GKE or EKS etc. They all can have their own Release cycles + many different other Cloud Computing products of the same vendor are integrated with it. Read more over here.