Our Zac is now 16 years old. He went by Zachary until about 4th grade. Many of his friends were already calling him Zac. So we let him choose how he wanted to spell his own name. Now how cool is that for a child? Almost like getting to pick your own name!
My choice was Zach. His was Zac, and Zac he is.
As for people "always" shortening a name this is not true. Zac has friends named, "Michael, Christopher, Steven...." Even their friends do not shorten their names. In fact it's the adults who often shorten the name. It was Zac's karate coach who called him Zac.
If Zac didn't like Zac he would have corrected him, like his friends did.
Our Jacob is still Jacob. He introduces himself as Jacob. Same thing some people call him Jake. He really doesn't care.