Explain the use of Go's code organization and modularization techniques for structuring and organizing the code and components of Go programs for various purposes and scenarios?