I agree with you that the scientific community is way behind industry standards, but the reason for that is much less of their code is actually designed for reuse. The overwhelming majority of their work is just "let me try writing this code and see what results I get."
Industry professionals are forced to take the approach of "I need to write this code to be as maintainable and flexible as possible" because they have no idea what the business is going to want next and generally have no set timeframe for how long they may have to maintain any particular project.