Confused about I2C addressing in PCA8574/74A
The data sheet clearly indicates that there are "8 programmable slave addresses using 3 address pins" right there in Section 2 bullet 7. In other words, there is a 7-bit address, 4 of those bits are the same for all chips (internally hard coded), and 3 of them (bits 0, 1, and 2 in particular) are programmable by setting (i.e. electrically connecting) the pin values to either Vss (GND) or Vdd (i.e. 5V). What the top 4 bits are internally hard coded to depends on the chip you are using - table 4 indicates that those bits are A[6:3] = 0100 for the PCA8574 and table 5 indicates that those bits are A[6:3] = 0111 for the PCA8574A.

To make it crystal clear, for the PCA8574 the lowest address possible is
010 0000 == 0x20 and the highest address possible is 010 0111 == 0x27. Likewise for the PCA8574A the lowest address possible is 011 1000 == 0x38 and the highest address possible is 011 1111 == 0x3F.