The os package is an old package, developed before the naming convention or upper case export rule was settled upon. So once the capitalization rule came about, everything in package os was capitalized, afaik, but the rest of the convention hadn't been decided.
Also, things that are typical Unix / C names are considered one word, hence os.Getenv instead of os.GetEnv. But os.Getenverror is weird and should probably be os.GetenvError, similar to os.MkdirAll.
I believe people have mentioned wanting to do a clean-up pass at some point in the future. Personally I hope it's sooner than later.