I was always curious why I can't capture other people's packets that are flying on air by Wireshark. Of course I know there's airmon-ng but I was just wondering why Wireshark itself can't "just simply" capture it.
Because the only OS that makes it relatively simple to put a Wi-Fi interface into monitor mode is OS X. With a bunch of work the versions of libpcap that ship with Linux distribution should be able to capture in monitor mode using the same APIs that Just Work with OS X (using the same mechanisms that airmon-ng uses, but without using libnl, which is a bit of a Library From Hell); with some more work, it should be able to work with current versions of FreeBSD as well. (On Windows, significant changes would need to made to the kernel-mode driver that's part of WinPcap.)
should it have anything to do with the CDMA that wireless protocols use?
Given that the only wireless protocols that use CDMA are 1) the 2G CDMAone mobile phone radio-layer protocols from Qualcomm and 2) both the CDMA2000 and W-CDMA mobile phone radio-layer protocols, no, it wouldn't have anything to do with that. Wi-Fi doesn't use CDMA, nor does 2G GSMA nor LTE.
Since I've learned that every users have their own chip code to minimize the interference from each other by transmitting in same frequency, does it mean that since I don't have the chip code of every other users, I can't display other people's packets?
That might cause a problem if you're trying to capture on a 2G CDMAone network or a 3G network, but it would be far from the only problem. On a Wi-Fi network, however, users don't have chip codes, because Wi-Fi, as noted, doesn't use CDMA.