Each segment would have its own file headers and meta data, with info about the segment, including codec details, duration, tags. Concatenating would keep all these headers and meta data in invalid ways for the resulting output file. Non-matching codec details would produce an invalid mp3 file, even with the superfluous file headers stripped.
It has to be handled a bit more smart and a bit more sensitively, possibly requiring re-encoding if the codec details don’t match.
Apps that support playlists may help out for this without changing the source files. That would be my preferred solution. (E.g. audio books.)
If you like Terminal as a tool, then consider ffmpeg. E.g. osxexperts.net has pre-compiled binaries for users that don’t want to build their own.
ffmpeg -i "concat:file1.mp3|file2.mp3" -acodec copy output.mp3
Works if the codes details match, i.e. mp3s created with the exact same settings.