I have seen that nodes hold a storage trie and state trie. What are those tries and are there these two tries per a contract code (in every copy of the blockchain)?
There are 4 tries in total. See How many trie's does Ethereum have?
The state trie is globally scoped, and contains a mapping of all known accounts to their state. Each node of the state trie represents an account. The data structure of each node contains details about the account balance, nonce, the code associated with the account, as well as the hash of the root node of...
...the account's storage trie, which is a mapping of integer keys to other integer values.
...and are there these two tries per a contract code (in every copy of the blockchain)?
As above, the contract code is associated with a specific account in the state trie. This is represented by a single node in the trie. Each account will have its own entire storage trie.