Why is my segwit private key generating a 3 address vs a bc1 address like how I originally generated? I have the following btc private key that I generated from another application: 

5KCPzu4tEAnFqwLrXUbW3GKMDSnUYY8CMie2HMRuHouSvrFhXA9

That application gives me the following segwit address:

bc1qluk574lw9t536u72n0z2ya0ksx3s0kg0evkrme

But when I goto https://segwitaddress.org and scroll down and enter in my private key at Enter a WIF private key to generate its corresponding segwit address. I get a totally different address:

37wArHq69dxRwLkHt6MY8PpmbB6qjErrbK

So do these 2 public keys actually have the same private key? How do I verify if my private key does indeed output the same public keys? I couldn't find any program to do this verification.
There is no standard for specifying whether a private key should correspond to a bech32 address, P2SH nested segwit address, or P2PKH address (1... address). The WIF format has traditionally been used for P2PKH addresses. However some wallets now will decide to instead create a P2SH nested segwit address or even a bech32 address instead. But because there is no standard for private keys that correspond to segwit addresses, it is entirely up to the wallet to determine what kind of address to give you for a private key.

In your case, the wallet gave you a P2SH nested segwit address. But it could have just as easily given you the P2PKH address or the bech32 address since the private key can be used to produce all 3 types of addresses.