1st part is correct.
2nd part is wrong
In cache memory block size is aligned with main memory block size. So it will contains 128 words within a block.
Now there are 64 blocks in cache which is 4 way set associative, means in each line is a set of 4 blocks, so totally there will be 16 lines, which required 4 bits and main memory require 12 bits apart from 7 bits for words. So out of 12 bits 4 bits will be used for $\text{SET OFFSET}$ and 8 remaining bits will be used for $\text{TAG OFFSET}$
$\text{TAG - 8 bits}$
$\text{SET - 4 bits}$
$\text{WORD- 7 bits}$