Keep in mind, that even if you have two separate SPs and you want to join the results together, there is no simple way to do that on the server side in a 3rd SP. You can insert them each into a temporary table and then join the temporary tables.
You can also copy the code from both SPs and combine them to produce the desired result set - potentially resulting in some logic duplication and maintenance issues.
Or, as you say, you can do it client side. If the two SPs don't return significantly more information separately than you want to return together, it's not terrible overhead (and if you can spawn them asynchronously from the client and then handle them together, it can actually be fairly efficient)
So in any case, you are already going to have to do some coding and testing of at least minor significance.
Because of that, I would strongly recommend you look into changing the two original SPs into table-valued functions (inline if possible). Then the two original SPs can pull from the UDFs and the new SP can join the two UDFs just like you would join tables or views. It's the simplest SP-joining mechanism from a code-duplication perspective and from a re-use and semantics perspective - the UDF code is relatively easy to read and use and re-use - they basically worked like parameterized views. Also, the optimizer tends to handle inline TVF VERY well. There are cases with complex SPs where TVFs simply cannot work, but for a bulk of scenarios, they are very powerful AND efficient. An unusually successful feature which can help significantly in any SQL Server system architecture.