Making octogonal words
Charcoal, 16 bytes (10 bytes noncompeting)

Ｆ⁸«✂θ⁰±¹↷¹Ａ⮌θθ»θ


Try it online! Link is to verbose version of code. Explanation:

Ｆ⁸«                 Repeat for each side of the octagon
   ✂θ⁰±    ¹        Print the input except the last character
        ↷¹          Rotate 45° clockwise
          Ａ⮌θθ      Reverse the input string
              »θ    Print the input again, to handle the length 1 case


Alternative length 1 fix, also 16 bytes: Verbose version.

ＰθＦ⁸«✂θ⁰±¹↷¹Ａ⮌θθ


A Charcoal bugfix means that the following 10-byte code now works: Verbose version.

Ｆ⁴«θ←↘⮌θ↖⟲