Generate paper wallet SegWit address
Create P2SH redeemScript as OP_PUSH publicKeyHash:
  
  
  redeemScript: 0014d5e5d05edfe2ed61099bf3f0d53be2775bbc6d0d


It's actually `OP_0  but you have resulted in the right thing anyways.


  
  Generate scriptPubKey as OP_HASH160 hash160(redeemScript) OP_EQUAL
  
  
  scriptPubKey: a914a19949e546c2f4d410cbb061c986b9ff3099ae7087
  
  
  Generate RIPEMD160 hash of scriptPubKey:
  
  
  hash: dc62e525af22d1f0f17cc2a091cf2c9fb36bf553


These steps are incorrect. The thing that is hashed for a P2SH address is the redeemScript, not the scriptPubKey. Instead of doing step 3, you would skip directly to step 4 and hash the redeemScript instead of the scriptPubKey.