Why do I get 5 bytes worth of 0x00 hex values in both outputs?
The value of an output in a transaction is a 8-byte field encoded in little-endian. The value is always represented with 8 bytes no matter how small it is. Here you have the full transaction structure with sizes: