Work out number of subnets needed instantly with clear inputs, formula shown and shareable results.
Subnetting borrows bits from the host field: borrowing b bits creates 2^b subnets and leaves 32 - prefix - b host bits. The number of bits to borrow is therefore ceil(log2(subnets needed)), and the resulting host capacity must still cover the largest subnet's requirement.
Bits to borrow
b = ceil(log2(subnets required)); new prefix = base prefix + b; hosts per subnet = 2^(32 - new prefix) - 2
Subnets come in powers of two. Five borrowed bits give 32 subnets, which is the smallest power of two that covers 20, and the spare 12 are growth room.
You are trying to fit too much into the block. Either start from a shorter base prefix or use VLSM so only the small subnets get long prefixes.