In general, each certificate should have a unique serial number (unique from that issuing CA). This is because if you ever need to revoke them (ie put them on a Certificate Revocation List (CRL)) you will need to reference them by serial number on the CRL.
In your case, the End Entity certificate is issued by the Intermediate CA and is the only cert signed by that CA with serial number 00
, so as long as you're not planning on issuing any more end entity certs, you don't have a uniqueness problem there. However both the Root cert and the Intermediate cert are signed by the Root, so you can not revoke your intermediate cert without also revoking your root.
Maybe that's not a thing you care about, but using a random number is definitely best practice. As an example of best practices, the CA/Browser Forum's Baseline Requirements for public HTTPS CAs says
CAs SHALL generate non-sequential Certificate serial numbers greater than zero (0) containing at least 64 bits of output from a CSPRNG.