Note that all the diagonal entries of $A$ are already $0$ if they are all equal, otherwise there are at least 2 diagonal elements of $A$ that are non-zero and different from each other. Assume without loss of generality that it's the first two diagonal elements that are non-zero and different from each other. Then all you need to do is show that you can find an invertible $2 \times 2$ matrix $X$ that produces $X A_2 X^{-1}$ such that the first diagonal element of the product is equal to zero, where $A_2$ is the upper-left $2 \times 2$ block of $A$. Then you define $B$ to have $X$ as its upper-left $2 \times 2$ block, and fill in the rest of the diagonal of $B$ with ones (and zeros everywhere else). When you compute $BAB^{-1}$, you will get one more diagonal entry equal to $0$ than you had in $A$. Then by induction you can keep choosing two diagonal elements that are non-zero and not equal, and repeat this process, to build up a product of matrices $B = B_n B_{n-1} \cdots B_1$ that will give all zeros on the diagonal of $BAB^{-1}$.
For the $2 \times 2$ case finding a suitable $X$ that gives first diagonal element of $XA_2X^{-1}$ equal to 0, just write down the symbolic expression for the first diagonal entry in terms of the entries of $A_2$ and $X$ (and you can skip dividing by the determinant of $X$ since you want to set the expression to $0$) and just find suitable entries in $X$ that make $X$ invertible and that set the diagonal entry expression to 0. A hint: First consider the case that $A_2$ has at least one non-zero off-diagonal element, and you should be able to find a suitable $X$ which has one $0$ in its first row. Then assume $A_2$ is diagonal and recall that the diagonal elements are not equal. Then you should be able to find a suitable $X$ that has its first row set to $(1,1)$.