Which is the right way to structuring components and static pages and their CSS? There is no "one right way" to structure your application. Couple of patterns I've noticed people using are;
You can use even your own structure but the important thing to keep in mind is that it should be consistent across your application.
How to name components for better re usability? I have noticed two variants;
Where do I can keep my application level states? There are several depending upon the use-case, sorted by ascending code complexity : Context API, Redux/Mobx, localStorage/sessionStorage, IndexedDB, WebSQL.
Where do I use state-full components and stateless components? If a component owns a responsibility(more than rendering the content) that involves remembering the data and reuse it for every render then it requires a "state" to be maintained in that component whereas if a component involves only rendering the content and probably some actions around it but doesn't store the data then that makes it a stateless component.
To help you decide, here's a tip, while creating a component try to figure if the component can be broken down into further small components. Do this repeatedly until you cannot break it down further. After this, try to depend upon the state of the parent as the props for the child component instead of directly introducing a state. If the child component itself owns a responsibility only then introduce a state. In the process of props passing, make sure you wouldn't end up with a messy code.
There are couple of patterns in React for better reusability and readability with the use of Stateful and Stateless components. One of the answers have mentioned it.
Using redux for state management is mandatory? Is Context API enough for application level state? Depends upon how big your state is to manage. If its big and is being interacted by several components then probably yes otherwise I'd never recommend Redux as it creates one more headache of managing the state, instead use Context API. Infact, in React 16.6, Context API can be used outside the JSX too.
Cheers!