I read that "TCP/IP protocol suite contains relatively independent protocols which can be mixed and matched which is not possible in OSI". What is the meaning of mix and match over here ? Can we mix transport layer and network layer protocols ?
No, you can't mix transport and network protocols. But you can use different transport protocols (TCP and UDP) with the network layer, IP. They're considered independent because IP doesn't know or care what transport protocol you're using (Fun fact: there are about 150 transport layer protocols defined).
Remember that network models are just that: models. They don't always depict what people actually use. Also remember that no protocol suite in use today follows the OSI model.
This could mean that you can have differing combinations of protocol headers (and trailer) stacked on the data during the encapsulation process. Some application layer services require TCP (FTP, HTTP) and some require UDP on the transport layer. The network layer is always IP when we are talking about the TCP/IP stack (not to confuse with OSI). The data link has different options as well: ethernet, ppp, hdlc, frame relay.
So you can have different header combinations: ETH-IP-TCP-data, ETH-IP-UDP-data, PPP-IP-TCP-data, HDLC-IP-UDP-data...etc.
The best way to look at these suites, be it OSI or TCP/IP is as a "frame of reference" when looking at implementations, but they are not strictly "fixed" settings in real life. An understanding of the interactions is the key here, the suites themselves is probably less important, as long as you understand the relationship between the sets of data that you are implementing or exploring.