Executive Summary

how can I turn this situation into something better and make the work environment and motivation blossom?

You can't.

Not all employees are fit for every company culture. Your job as a manager is to clearly explain constraints, and the employees need to find how to work effectively given those constraints.

Constraints

Not everyone is cut out for every job. Someone with a strong sense of ethics may not be cut out to be a used car salesman. Someone with a strong sense of pride in their work may not be cut out for work in a firm trying to make a quick buck and get out. Someone with a strong desire for job security may not be a good fit for a startup.

Jobs are like relationships -- you need to find one you like, not assume you can change it to match your fancy after the fact.

A good organization will make these constraints obvious from before the process even begins. I don't think anyone joining the military imagines that they will have a flat management structure for instance. Ideally your company will make the constraints for developers clear during the interview process.

Explaining Constraints

If not, your job is to make sure that they are clear. For instance, you could call together your employees and say something like:

I understand that sometimes you want more details on why a decision is made. As you know, this company deals with a lot of proprietary technology, and often times the details on why a decision is made cannot be shared. I appreciate your desire to understand more, and at the same time I would like you to understand that there are times I cannot share the reasons with you.

Your employees should understand that there are things that you cannot/will not tell them. That it is their job to accept the information you provide, complete or not, and to work within the parameters that they are instructed to work in.

Watch Your Attitude

You seem to be implying that you disagree with your management. Here are some examples:

"Sometimes what my employees say makes more sense because it is actually backed by logic or data, whereas senior management just gives us strategy without a very clear explanation." "This obviously makes employees feel less motivated and involved in decision-making process." "how can I turn this situation into something better and make the work environment and motivation blossom?"

Your job as a manager is to make your employees work within the constraints decided by your managers. Implying to your employees that you agree with them will undercut not only your authority, but the authority of your managers. This will impact their ability to do the work in the manner the company has decided it should be done. If you disagree, you need to speak to your management, not subvert their authority.

Discuss with Your Management

Since it seems that you side with your employees and disagree with your management. While making your employees work within the constraints you are given, you can address their concerns the proper way, directly to your management. Realize, however, that if the company culture promotes secrecy/confidentiality, bringing up any concerns regarding that policy may paint you as someone who isn't a 'team player' or who can't get the job done.

If you think the impact on the productivity/motivation of your employees is of serious concern to the company (and not just an, "it'd be nice if..." sort of thing), then you should bring it up to your manager within the context of the company goals. For instance:

Hey boss, our company is constantly discussing the importance of customer satisfaction through high quality. Currently my developers are struggling delivering the appropriate level of quantity because the technologies they can use are limited and not well defined. For instance, on this project we were limited to using language X. Feature A can be implemented incredibly easy with technologies Y or Z, but requires a month of time to implement in language X. Without being able to explain why we can't use Y or Z, the employee is limited to creating the workaround in language X at the expense of time and quality. While I understand that confidentiality, especially in regards to larger architecture decisions is incredibly important to the company, being able to give the developers a clearer understanding of the constraints and why they were made will allow them to find better solutions to problems saving time and increasing quality. Is there any way we can either have one of the people responsible for the decisions to be available for questions when the new project kicks-off, or to have someone to be able to contact in situations like this?

The key points here are: